JS-第五章

1.js也可以使用方括号的方法去访问对象的属性,在使用方括号的时候记住所访问的属性应该以字符串的形式存放在方括号中:alert(person["name"]).

 这样访问比用person.name访问的好处是当属性名中包含如first name这样的空格的时候就可以用person["first name"]这种方式去访问,我们平日建议用第二种访问。

2.数组的length属性很有特点,它不是只读的。因此通过设置这个属性,可以从数组的末尾一处项或向数组中添加新项:

  var colors=["red","green","blue"];

colors.length=2;

alert(colors[2])//undefined

如果将length属性设置为大于数组项数的值,则新增的每一项都会取得undefined值

3.检测数组: value instanceof Array   和 Array.isArray(value)后者是ECMAScript5新增的方法,这个方法的目的是最终确定某个值到底是不是数组,而不管它是在哪个全局执行环境中创建的(IE9+ 火狐4+ chrome)

4.栈push、pop(last one),队列shift(first one)

  可以从反方向来模拟队列  unshift("red","green") unshift("black")——》black red green 这时候就可以通过pop取得最后一项green

5.重排序方法:reverse、sort(compare)——》通过compare返回值的情况进行升序、降序排序(对象类型也可以通过两个值相减的模式)

6.concat(),基于原数组创建新数组

7.slice&&splice(删除 插入 替换)

8.(高级编程113页详解)作为值的函数:因为ECMAScript中的函数名本身就是变量,所以函数可以作为值来使用,也就是说,不仅可以像传递参数一样把一个函数传递给另一个函数,而且可以将函数作为另一个函数的结果返回:

function callsomeFunction(someFunction,someArgument){

return someFunction(someArgument);

}

9.arguments 类数组对象,包含传入函数中的所有参数,它有个属性callee,该属性是个指针,它指向拥有这个arguments对象的函数(高级编程114页详解)

10.(高级编程116 函数属性和方法) 每个函数都包含两个非继承而来的方法:apply()和call().这两个方法的用途都是在特定的作用域中调用函数,他们作用相同,区别仅仅在于接收参数的方式不同。

11.string.charAt(index)返回的是给定位置那个字符的字符串形式,而string.charCodeAt(index)返回的是给定位置字符的字符编码。

12.本章有Math等全局方法使用。

原文地址:https://www.cnblogs.com/Billzhizhi/p/5998297.html