(2)具体的数据存在“慢速内存”“堆内存”中。
引用传址:将一个变量的数据地址,“拷贝”一份,传给另了另一个变量。这两个变量,指向“同一个地址”。
大家共享同一份数据。
如果其中一个变量的值发生了改变,那么,另一个变量的值也得变。要变一起变。
因此,这两个变量是有联系的,要变大家一起变。
----------------------------------------------------------------------------
匿名函数:没有名字的函数。
匿名函数,不能单独定义的,也不能单独调用。
匿名函数,一般是作为数据给其它变量赋值的。可以给普通变量、数组元素、对象的属性赋值。
----------------------------------------------------------------------------
二维数组跟表格很像
var arr=[
[0,1,2,3],
[10,11,12,13],
[20,21,22,23]
];
二维数组,就得用两层循环来实现。也就是说循环套循环。
二维数组的循环,与二维表格的循环一模一样。
二维数组的访问:数组名后跟多个连续的中括号[],第1个中括号[]代表第一维数组,第2个中括号[]代表第二维数组。
----------------------------------------------------------------------------
自定义对象
1、使用new关键字结合构造函数Object()来创建一个空的对象
2、使用大括号{}来创建一个对象
----------------------------------------------------------------------------
JS内置对象
String对象:字符串对象,提供了对字符串进行操作的属性和方法。
Array对象:数组对象,提供了数组操作方面的属性和方法。
Date对象:日期时间对象,可以获取系统的日期时间信息。
Boolean对象:布尔对象,一个布尔变量就是一个布尔对象。(没有可用的属性和方法)
Number对象:数值对象。一个数值变量就是一个数值对象。
Math对象:数学对象,提供了数学运算方面的属性和方法。
----------------------------------------------------------------------------
String对象的属性和方法
length:获取字符串的长度。如:var len = strObj.length
toLowerCase():将字符串中的字母转成全小写。如:strObj.toLowerCase()
toUpperCase():将字符串中的字母转成全大写。如:strObj.toUpperCase()
----------------------------------------------------------------------------
charAt(index)
功能:返回指定下标位置的一个字符。如果没有找到,则返回空字符串。
语法:strObj.charAt(index)
参数:index是指定的一个索引号,根据index索引号来返回一个字符。
----------------------------------------------------------------------------
indexOf()
功能:返回一个子字符串在原始字符串中的索引值(查找顺序从左往右查找)。如果没有找到,则返回-1。
语法:strObj.indexOf(substr)
参数:substr代表要查找的一个子字符串。
----------------------------------------------------------------------------
lastIndexOf()
功能:在原始字符串,从右往左查找某个子字符串。如果没找到,返回-1。
语法:strObj.lastIndexOf(substr)
参数:substr代表要查找的子字符串。
----------------------------------------------------------------------------
substr()
功能:在原始字符串,返回一个子字符串。
语法:strObj.substr(startIndex [ , length])
说明:从下标startIndex起,返回length个字符。
参数:
startIndex表示查找的起始索引号;
length可选,返回几个字符。如果省略,一直返回到结尾。
----------------------------------------------------------------------------
substring()
功能:在原始字符串,返回一个子字符串。
语法:strObj.substring(startIndex [ , endIndex])
说明:返回从startIndex开始索引值到endIndex结束索引值之间的所有字符。
参数:
startIndex:代表开始索引值。
endIndex:可选项,代表结束索引值。如果省略,一般返回到结尾的所有的字符。
提示:如果省略第二个参数,那么substr()和substring()结果一样。
注意:substring()返回的字符包含startIndex处的字符,不包含endIndex处的字符。
举例:
“abcdefgh”.substring(0,5) = “abcde”
“abcdefgh”.substr(0,5) = “abcde”
“abcdefgh”.substring(2,3) = “c”
“abcdefgh”.substr(2,3) = “cde”
----------------------------------------------------------------------------
split():将一个字符串转成数组
功能:将一个字符串切割成若干段。返回一个数组。
语法:strObj.split(分割号)
参数:参数是一个分割号的字符串。用指定的分割号将字符串切成若干段。
举例: “a,b,c,d”.split(“,”) = arr[“a” , “b” , “c” , “d”]
----------------------------------------------------------------------------
Array对象:一个数组变量,就是一个数组对象
length属性:动态获取数组长度。如:var len = arrObj.length
join()
功能:将一个数组转成字符串。返回一个字符串。
语法:arrObj.join(连接号)
说明:将一个数组,用指定的“连接号”连接成一个字符串。
reverse()
功能:将数组中各元素颠倒顺序。
语法:arrObj.reverse()
参数:无
----------------------------------------------------------------------------
数组元素的删除和添加
delete运算符,只能删除数组元素的值,而所占空间还在,总长度没变(arr.length)。
以前数组元素的添加,只能向后添加,不能向前添加。
shift():删除数组中第一个元素,返回删除的那个值,并将长度减1。
pop():删除数组中最后一个元素,返回删除的那个值,并将长度减1。
unshift():往数组前面添加一个或多个数组元素,长度要改变。arrObj.unshift(“a” , “b” , “c”)
push():往数组结尾添加一个或多个数组元素,长度要改变。arrObj.push(“a” , “b” , “c”)
----------------------------------------------------------------------------
Date对象
Date对象和String对象不太一样,定义了一字符串,其实就是一个String对象,就可以直接调用属性和方法。
Date对象的使用,必须使用new关键字来创建,否则,无法调用Date对象的属性和方法。
创建Date对象的方法
(1)创建当前(现在)日期对象的实例,不带任何参数
var today = new Date();
(2)创建指定时间戳的日期对象实例,参数是时间戳。
时间戳:是指某一个时间距离1970年1月1日0时0分0秒,过去了多少毫秒值(1秒=1000毫秒)。
var timer = new Date(10000); //时间是 1970年1月1日0时0分10秒
(3)指定一个字符串的日期时间信息,参数是一个日期时间字符串
var timer = new Date(“2015/5/25 10:00:00”);
(4)指定多个数值参数
var timer = new Date(2015+100,4,25,10,20,0); //顺序为:年、月、日、时、分、秒,年、月、日是必须的。
getFullYear():获取四位的年份。
getMonth():获取月份,取值0-11。
getDate():获取几号,取值1-31
getHours():获取小时数。
getMinutes():分钟数
getSeconds():秒数
getMilliseconds()毫秒
getDay()星期
getTime()毫秒值,距离1970年1月1日至今的毫秒值
----------------------------------------------------------------------------
Math数学对象
Math对象是一个静态对象,换句话说:在使用Math对象,不需要创建实例。
Math.PI:圆周率。
Math.abs():绝对值。如:Math.abs(-9) = 9
Math.ceil():向上取整(整数加1,小数去掉)。如:Math.ceil(10.2) = 11
Math.floor():向下取整(直接去掉小数)。如:Math.floor(9.888) = 9
Math.round():四舍五入。如:Math.round(4.5) = 5; Math.round(4.1) = 4
Math.pow(x,y):求x的y次方。如:Math.pow(2,3) = 8
Math.sqrt():求平方根。如:Math.sqrt(121) = 11
Math.random():返回一个0到1之间的随机小数。如:Math.random() = 0.12204467732259783
----------------------------------------------------------------------------
Number数值对象
一个数值变量,就是一个数值对象(Number对象)。
toFixed()
功能:将一个数值转成字符串,并进行四舍五入,保留指定位数的小数。
语法:numObj.toFixed(n)
参数:n就是要保留的小数位数。
举例:
var a = 123.9878;
a = a.toFixed(2); // a = “123.99”
----------------------------------------------------------------------------
BOM和DOM简介
BOM,Browser Object Model ,浏览器对象模型。
BOM主要提供了访问和操作浏览器各组件的方式。
浏览器组件:
window(浏览器窗口)
location(地址栏)
history(浏览历史)
screen(显示器屏幕)
navigator(浏览器软件)
document(网页)
DOM,Document Object Model,文档对象模型。
DOM主要提供了访问和操作HTML标记的方式。
HTML标记:
图片标记
表格标记
表单标记
body、html标记
……
BOM和DOM不是JS的内容。它们是W3C制定的规范。但是,BOM和DOM在浏览器中以对象的形式得以实现。
换句话说:BOM和DOM都是由一组对象构成。
W3C是制作互联网标准的一个国际化的组织,如:XHTML、CSS、JavaScript、AJAX等。
----------------------------------------------------------------------------
window.document.write(“OK”)
window.document.body.bgColor = “#FF0000”;
window对象是所有其它对象的最顶层对象,因此,可以省略。
document.write(“OK”);
document.body.bgColor = “#FF0000”;
window.alert(“OK”); ——> alert(“OK”);
window.prompt(“请输入一个分数”); ——> prompt(“请输入一个分数”);
----------------------------------------------------------------------------
Window对象属性
name:指浏览器窗口的名字或框架的名字。这个名字是给<a>标记的target属性来用的。
设置窗口的名字:window.name = “newWin”
获取窗口的名字:document.write(name);
top:代表最顶层窗口。如:window.top
parent:代表父级窗口,主要用于框架。
self:代表当前窗口,主要用于框架中。
innerWidth:指浏览器窗口的内宽(不含菜单栏、工具栏、地址栏、状态栏),该属性Firefox支持。
Back to home |
File page
Subscribe |
Register |
Login
| N