首页 > Web开发 > 详细

JS高级程序设计拾遗

时间:2017-02-05 10:55:11      阅读:216      评论:0      收藏:0      [点我收藏+]

    《JavaScript高级程序设计(第三版)》反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的、记不清的地方记录下来,方便以后巩固。

0. <script>元素属性

async表示立即下载脚步,但不应该妨碍页面中其他操作;

defer表示延迟到文档完全被解析和显示之后再执行。这两个属性都仅适用于外部脚步,而且现实中脚步不一定按顺序执行。指定async属性的目的是不让页面等待脚步下载和执行。

最好只包含一个延迟脚本,把延迟脚本放在页面最底部仍然是最佳选择。

1.Number类型

1.1  NaN即非数值可以用isNaN()来确定。isNaN()在接收到一个值后,会尝试将这个值转换为数值,任何不能转换为数值的值都会导致isNaN()返回true。

alert(isNaN(NaN))     //true
alert(isNaN("10"))   //false
alert(isNaN("blue"))    //true

1.2 数值转换

  上例讲到的isNaN()会将值转换为数值,那是怎么转换的呢。JS所有数值转换,默认情况下都是调用Number()转型函数的。

  Number()、parseInt()、parseFloat() 区别: Number()参数可以为任何数据类型,后两个参数只能为字符串(parseInt()还可以多一个转换基数的参数); 

Number()对空字符串返回0,后两个则返回NaN,原因是parseInt()对于第一个字符不是数字字符或负号,就会返回NaN;对于参数是字符串,Number()要求字符串只包含数字才转换成数值,

空字符串转为0,否则转换为NaN,而后两个函数没这个要求。

 

  

JS高级程序设计拾遗

原文:http://www.cnblogs.com/zhansu/p/6366929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!