码迷,mamicode.com
首页 > Web开发 > 详细

JS 高级程序设计 第三章

时间:2015-10-01 21:42:37      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

1、标识符:

     标识符,是指变量、函数、属性的名字,或者函数的参数。

     标识符的命名规则:

     (1)第一个字符必须是字母、下划线或者美元符号

     (2)其他字符可以是字母、下划线、美元符号和数字。

     修改变量值的同时可以修改值的类型

2、用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var将建立一个全局变量。

3、ECMAScript中有五种简单的数据类型:Undefined、Null、Boolean、Number、String,还有一种复杂的数据结构-Object,它的本质是一组由无序の 名值对组成

4、typeof是一个操作符而不是函数

5、Number类型的八进制的字面值的第一位必须是零,但是八进制在严格模式下是无效的。浮点数的最高精度是17位小数。

6、ECMAScript能够表示的最小的数值保存在Number.MIN_VALUE中,最大的数值保存在Number.MAX_VALUE中,要确定一个数值是不是又穷的,可以使用isFinite()

7、任何涉及NaN的操作都会返回NaN;NaN与任何值都不想等,包括NaN本身。

    isNaN()函数:

    alert(isNaN(NaN))          //true

    alert(isNaN(10))          //false

    alert(isNaN("10"))       //false

    alert(isNaN("blue"))       //true

    alert(isNaN("true"))       //false

8、数值转换:三个函数可以将非数值转换为数值:Number(),parseInt()、parseFloat(),其中Number()可以用于任何数据类型,而另外两个函数专门用于把字符串转换为数值。

9、parseInt()已经不具备解析八进制的能力,因此“070”前导的零会被认为是无效的,从而将这个值当做“70”,结果得到十进制的"70"。

10、parseFloat()函数是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。,字符串的第一个字符是有效的,而第二个字符是无效的。parseFloat()只解析十进制数。

11、把一个值转换为一个字符串有两种方式:(1)几乎所有值都有的toString()方法,但是NULL和Undefined没有这个方法,这个函数的括号内可以有一个参数,即:输出数值的基数;(2)在不知道要转换的值是null或者undefined的情况下,还可以使用转换类型函数String().

12、Object类型,对象其实就是一组数据与功能的集合。创建对象:var o=new Object();

13、位操作符:按位非(~);取返回数值的反码。按位或(|),按位异或(^);左移(<<);有符号的右移(>>);无符号的右移(>>>)

14、加性操作符:如果一个操作数是字符串,那么就要应用以下的规则:

      (1)如果两个操作数都是字符串则将两个操作数连接起来。

      (2)如果只有一个操作数的字符串,将另一个操作数转换为字符串,然后在拼接。

15、减法操作符:

       如果有一个操作数是字符串、布尔值或者null或者undefined,则先在后台调用Number()函数将其转换为数值,然后再根据前面的规则进行减法运算。

       如果一个操作数是对象,则调用对象的valueOf()方法取得表示该对象的数值,如果值为NaN,则减法的结果是NaN.如果对象没有valueOf()方法,则调用toString()方法并将得到的字符串转换为数值。

16、相等和不相等--先转换后比较。            全等和不全等-------仅作比较而不转换

       相等和不相等这两个操作符比较时应该遵循的原则:

      (1)null和undefined是相等的

      (2)要比较相等性之前,不能将null和undefined1转换为任何其他值

      (3)如果有一个操作符为NaN,则相等运算符返回false,不相等运算符返回true。NaN不等于NaN 

     (4)如果两个操作数都是对象,则比较他们是不是都是同一个对象。

17、注意:null==undefined会返回true,因为它们是类似的值;但是null===undefined会返回false,因为它们是不同类型的值。

18、如果表示要迭代的独享的变量值为null或者undefined,for-in语句会抛出错误。,所以要在使用for-in循环前,先检测确认该对象的数值是不是null或者undefined。

19、switch语句在比较的时候使用的是全等操作符,因此不会发生类型转换(例如字符串"10"不等于数值10)

20、arguments对象的length属性可以获取有多少个参数传递给了函数,arguments对象可以与命名参数一起使用。

21、arguments对象的长度是由传入的参数的个数决定的,不是由定义函数时的命名参数的个数决定的,没有传递值的命名参数将自动被赋予undefined值。

JS 高级程序设计 第三章

标签:

原文地址:http://www.cnblogs.com/1992825-Amelia/p/4851526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!