《Effective JavaScript》读书笔记_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2306 | 回复: 0   主题: 《Effective JavaScript》读书笔记        下一篇 
一路向北5221
版主
等级:上士
经验:262
发帖:7
精华:0
注册:2015-7-16
状态:离线
发送短消息息给一路向北5221 加好友    发送短消息息给一路向北5221 发消息
发表于: IP:您无权察看 2015-8-27 22:25:11 | [全部帖] [楼主帖] 楼主

1、坚持使用“严格模式”进行编码,兼容性好。(“use strict”)。
混合使用时,将严格模式内容和非严格模式内容放在立即调用的函数表达式中,否则会相互影响。
(function(){
        "use strict";
        function f(){
                ……
        }
})();
(function(){
        function f(){
                ……
        }
})();

2、js的浮点数
js中所有数字都是双精度浮点数,能表达53位精度的整数。
注意浮点数中的精度陷阱,比如:(0.1+0.2)!=0.3。

3、隐式的强制转换
3+true //4
“17”*3 //51
运算符“+”承载了数字相加和字符串连接。
位运算符会将操作数转换为数字,而且是32位整数。(位运算符:~,&,^,|;移位运算符:<<,>>,>>>)。
位运算符是把操作数看作一系列单独的位,而不是一个数字值。(现将数字装换为二进制再运算)
~:按位取反,也可理解为对数字求负,再减1。~25===-26 //true
&:按位与,1&1 //1; 1&0 //0; 0&1 //0;0&0 //0.
^:按位异或,即同为0,不同为1,1^1 //0; 0^0 //0;1^0 //1; 0^1 //1;
|:按位或,有一个为1,则结果为1.
移位运算符超过的位将丢失,而空出的位则补0。
>>:右移 先将数字转换为二进制,然后进行移位,保留符号。
<<:左移
>>>:右移
>>和>>>的区别(有符号和无符号):数字为正数时,结果相同,为负时,先将其转换为32位二进制(最后一位为符号位),然后对其补码(反码+1)进行移位(符号位也参与移位,当成一般数字位)。
NaN不等于任何数。
js中一共有7个假值:0,-0,“”,null,undefined,false,NaN。

4、避免对混合类型使用==运算符




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论