初心不负 阅读(12) 评论(0)

1:JS中的一切(变量,函数名和操作符)都是区分大小写

2:标识符(变量,函数,属性的名字,以及函数的参数),第一个字符必须是字母,下划线,或者美元$,书写方式采用驼峰式不能将关键字作为标识符

3:JS的变量是松散类型,每个变量仅仅是一个用于保存值的占位符未初始化的变量都会保存一个特殊值--undefined

4:JS的五种基本数据类型(Undefined,Null,Boolean,Number,String),复杂数据类型--Object(本质是一组无序的键值对组成)。从技术上讲,函数在JS当中属于对象,但是他不应该是一种数据类型。所以通过typeof操作符(不是函数)来区分很有必要。

5:Undefined类型只有一个特殊值--undefined。比如说声明了但是没有初始化的变量。未定义的变量和未初始化的变量采用typeof都是undefined,所以显式地初始化变量很远必要。

6:Null类型只有一个值--null。null表示一个空指针对象,如果定义的变量将来准备保存对象,那么初始化为null,这样直接检查null就可以知道相应的变量是否已经保存了一个对象的引用。undefined是派生与null,所以undefined == null 为true

7:Boolean只有true和false两个值。JS所有类型的值都有与这两个Boolean值等价的值,将一个值转换为对应的Boolean采用Boolean()函数就可以转换为false的其他值为(空字符串“”,0和NaN,null,undefined)

8Number

  1浮点数值:Number类型来表示整数和浮点数值。八进制字面值(在严格模式中无效)的第一位必须为0(070解析为八进制的56),如果字面值中的数值超过范围,那么前导零会被忽略(079解析为79),浮点数的精度为17位小数,所以(0.1+0.2 不等于0.3)永远不要测试某个特定的浮点数值,科学计数法(3.125e7=3125000),(0.0000003 =3e-7)。

  2数值范围:超过范围的值会被自动转为Infinity(也分正负),Infinity是不能参与计算的要想确定一个数值是否超出范围采用isFinite()函数(返回true或者false)。

  3NaN:非数值也是一个特殊的数值。这个数值表示一个要返回数值的操作数未返回数值的情况(这样就不会报错了,比如任何值除以0都会报错)。NaN有两个非常特点,任何涉及NaN的操作都会返回NaN,NaN与任何值都不会相等(包括他自己)。isNaN()检测某个值是否可以转换为数值,不能转换的话就返回true,也就表示这个参数"不是数值"。

  4数值转换:把非数值转换为数值:Number(),parseInt(),parseFloat()。Number适用于任何数据类型,后面两个则专门将字符串转换成数值。Number的转换规则太复杂了(自己去看书),parseInt主要是看字符串是否符合数值模式,忽略空格直接找到第一个非空格字符,如果第一个字符串不是数字字符或者负号,那么就直接返回NaN,如果是数字字符或者负号,就继续解析直到遇到了一个非数字字符(小数点不是数字字符)识别各种整数格式。使用的时候最好指定基数(即多少进制)。

  parseFloat解析的字符串中的第一个小数点是有效的,第二个区别在于他会始终忽略前导的零,并且只解析十进制数但十六进制格式的字符串则始终会被转换为0

9String

  1字符串的特点:字符串一旦创建,它们的值就不能再改变,要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用一个新的字符串重新填充该变量。