读书笔记 - js高级程序设计 - 第三章 基本概念

启用严格模式 "use strict" 这是一个 pragma 编译指示
让编码意图更清晰  是一个重要原则
5种简单数据类型 Undefined Null Boolean Number String
1种复杂数据类型 Object
检测数据类型的方法
typeof
有如下值:
undefined boolean object string number function
typeof Null object
意在保存对象还没有保存对象的变量的初始值最好是什么 null
八进制的第一位必须是 0
undefined == null 的结果 是 true
浮点数值使用注意事项 永远不要测试其值                   
最大数值 Number.MAX_VALUE
最小数值 Number.MIN_VALUE
判断数值是否有穷 inFinite()
NaN 是一个特殊的数值 两特点是
涉及它的操作结果都是NaN
和任何值包括它自己 都不相等
把别的进制数 转为 10进制数 parseInt( "A", 16) ;
把10进制数 转为 别的进制数据  num.toString( 16 )  即转为16进制数
object里有的属性和方法
constructor  保存着用于创建当前对象的函数
hasOwnProperty() 不能判断原型中的
isPrototypeOf  用于检查传入的对象是否是当前对象的原型
propertyIsNumerable() 用于检查给定的属性是否能够使用 for-in来枚举
toLocalString 返回对象的字符串表示
toString
valueOf  通常与toString方法返回的值相同
操作符分4类
算术操作符:++ --
位操作符: 非 与 或 异或,左移 右移 无符号右移
关系操作符:
相等操作符
按位非 NOT
~num 
即取反码
相当于负值减1
按位与 AND a&b 都为1才是1
按位或 OR a|b 只要有一个为1就是1
按位异或 XOR a^a  两位不同才为 1
左移
a << 5
左移不会影响符号位
比如 -2 移 5位 会变成  -64
有符号的右移 a >>5 和左移正好相反 
无符号的右移 
a >>> 5
如果原数是负数,数字会变得非常大,且变为正数
逻辑非
!a 
逻辑与
a&&a 
逻辑或
a||b
利用逻辑或的行为 设计默认值             var result = preferredObj || backupObj   
乘性操作符有三个   乘法 除法 求模  
加性操作符有两个  + -  ,+可用来拼拼字符串
 关系操作符有4个  > < >= <=
 相等操作符    == === != 
 条件操作符  ? :
 赋值操作符  *=   /=  %= += -=   <<=  >>=  >>>=
 if 注意事项    一定要用代码块                           
 do while  后判断
 while  先判断    
 for 特点 里面声明的外部也可以访问
for in

for( var propName in window )

输出的属性名的顺序是不可预测的

在使用前 要先检测该对象的值不是null或undefined

with   严格模式下不可以用with
switch  

每个case的值不一定是常量,也可以是变量

比较时,使用的是全等操作符

参数  

永远是放到一个数组里

可用arguments依次访问

没有重载 EcmaScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的
   
   
posted @ 2017-07-21 08:53  jason_xiao  阅读(145)  评论(0编辑  收藏  举报