读《JavaScript.The.Good.Parts》的一些笔记

1、javascript只有一个单一的数字类型。它在内部被表示为64位的浮点数。

2、Javascript在被创建时的候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位。

3、转义字符允许把那些正常情况下不被允许的字符插入到字符串中,比如反斜线、引号和控制字符。\u约定允许指定用数字表示的字符码位。如”A”===”\u0041”。

如果出现js导致的中文乱码,那么把所有中文字符串转成字符码位串,是个解决问题的方式,也应该尽量在js文件避免直接出现中文,而是用这种字符码位。

中文Unicode在线转换工具http://app.baidu.com/app/enter?appid=409757

4、字符串是不可变的,一旦字符串被创建,就永远无法改变它。

5、下面列出的值被当作假(false),false、null、undefined、空字符串’’/””、数字0、数字NaN,其它所有的值都被当作真,包括true、字符串”false”,以及所有的对象。

6、for in语句会枚举一个对象的所有属性名,在每次循环中,对象的属性名字符串被赋值给for和in之间的变量。可通过object.hasOwnProperty(variable)来确定这个属性名是该对象中的成员,还是从其原型链里找到的。

7、对象字面量{}是一种方便指定新对象的表示法。属性名可以是标识符或字符串。这些名字被当作字面量名而不是变量名来对待,所以对象的属性名在编译时才能知道。属性的值就是表达式。

8、\数组字面量[]则是一个方便指定新数组的表示法。

9、函数字面量定义了函数值。它可以有一个可选的名字,用于被调用或递归地调用自己。它可以指定一个指定一个参数列表,这些参数将作为变量由调用时传递的实际参数初始化。函数的主体包括变量定义和语句。

10、函数的apply方法可以构建一个参数数组并用其去调用函数。apply方法接收两个参数,第一个是将被绑定给this的值,第二个就是一个参数数组。(忘记call方法的存在。)

11、Javascript确实有函数作用域,那意味着定义在函数中的参数和变量在函数外部是不可见的,而且在一个函数中的任何位置定义的变量在该函数中的任何地方都可见。(注意变量申明会提前。)

12、函数可以访问它被创建时所处的上下文环境,这被称为闭包。

你可能感兴趣的:(JavaScript)