代码改变世界

javascript高级程序设计学习小结1

2017-10-13 11:44  好像在哪见过你  阅读(159)  评论(0编辑  收藏  举报

1. 一个完整的javascript实现由三部分组成:核心(ECMAScript)、文档对象模型(DOM)以及浏览器对象模型(BOM),ECMAScript就是对标准规定的如语法、类型、语句、关键字、保留字、操作符以及对象的语言的描述。

文档对象模型DOM

针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层节点结构,给开发人员提供了控制页面的主动权

浏览器对象模型BOM

提供了与浏览器交互的方法和接口

 

2.script脚本标签的位置最好放在</body>前,用户会因为浏览器窗口显示空白页的时间缩短而感到打开网页的速度加快了,假设放在<head></head>中,对于要加载很多javascript代码的页面来说,浏览器在呈现页面时会出现明显的延时,而延迟期间页面会显示一片空白。

script标签的defer属性表示了脚本会被延迟到整个页面被加载完成后在执行

script标签的asyn属性适用于外部脚本文件,标记为asyn属性的脚本并不保证按照指定的先后顺序执行。指定async属性的目的是不让页面等待两个脚本下载和执行,,从而异步加载页面的其他内容。建议异步脚本不要在加载期间修改DOM。

3. 语法注意点

Number转换的规则:如果是Boolean,true和false分别转换为1和0;如果是数值,则直接传入;如果是null,返回0;如果是undefined,返回NaN;

如果是字符串:

  如果字符串只包含数字,则将其转换为十进制数值,对于前置0,会被忽略,如"011"会变成11

  如果字符串包含了有效的浮点格式,则会被转换为相应的浮点数值(同样会被忽略前置0)

  如果字符串是包含有效16进制格式,如“0xf”,则将其转换为同样大小的十进制数

  如果字符串是空的,则将其转换为0

  如果字符串包含以上格式以外的字符,则转换为NaN

如果是对象:

  先调用对象的valueOf方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString方法,然后依照前面的规则转换返回的字符串值。

在处理整数时更常用的是parseInt函数,使用时建议明确指定所转换的基数,如parseInt("10", 8);

toString通过传递基数,输出二进制、、八进制以及十六进制等表示的字符创值。

Infinity * 0 = NaN

Infinity / Infinity = NaN

Infinity - Infinity = 0

==会对左右两边的操作数进行一定的强制转换,再进行比较