一、javascript 对象分类
(1)原生对象 native object
Object Function Array 包装类(String Boolean Number)
Error以及其他六个具体的Error对象(SyntaxError、ReferenceError、TypeError、RangeError、EvalError、URIError)
Date、Reg
(2)内置对象 Build-in object
1、global对象,ECMAScript中兜底的对象,任何不属于其他对象的属性和方法,都是global身上的。事实上没有全局变量和函数,他们都是global对象上的属性。
global的属性和方法:
除了具有native对象的属性,还有inNaN()、ParseInt()、encodeURI(将通用资源标志符进行编码,以便发给浏览器)、decodeURI()、还有undefined、NaN、Infinity属性。(红宝书3rd edition p133)。
global对象与window对象的关系:
ECMAScript中没有指出如何直接访问到global对像,但是web浏览器都是将这个全局对象作为window对象的一部分加以实现的,所以全局作用域中声明的变量和对象就成了window的属性(window对象除了扮演global对象角色外,还承担了很多别的任务)。
2、Math对象
提供辅助完成复杂数学计算任务的方法
常见的Math方法: max()、min()、random()、ceil()、floor()、pow(num,power)返回num的power次幂、sqrt(num)返回num的平方根。
代码执行前,作用域中已经存在了global和math对象。
(3) 宿主对象 Host Object
浏览器提供的对象,不同浏览器提供的宿主对象的方法有差,所以会造成兼容性问题。
浏览器对象window(BOM)和document(DOM),DOM有w3c制定的标准,BOM没有统一的标准。模型大致意思是,一套组织完善的方法集合。
二、DOM
DOM是针对HTML和XML文档的一个API(应用程序编程接口)。
DOM的作用:1、描述了一个层次化的节点树,2、提供接口允许开发人员添加、移除、修改页面的某一部分。
tip:DOM不能直接更改css样式表,但是可以改变dom节点的style属性(此属性为内联样式,然后把css层叠样式表里面的相关样式覆盖了)