一、DOM初探、JS对象、XML
一、DOM初探
DOM:Document Object Model (文档对象模型),提供与网页内容交互的方法和接口。
DOM对象——>宿主对象。
二、JS对象(两种类型,3种对象)
两种类型,3种对象:
- ES的内部对象:本地对象、内置对象
- 宿主对象。
-
本地对象(Native Object)与浏览器无关
Object Function Array String Number Boolean
Error SyntaxError ReferenceError RangeError TypeError URIError EvalError
Date RegExp
-
内置对象(Build-in Object)与浏览器无关
Global Math
Global对象在ECMA中并不存在,是虚拟的,其下的方法和属性有 :
isNaN() parseInt() Number() decodeURI() encodeURI()
Infinity NaN undefined
-
宿主对象(Host Object)
window(BOM)和document(DOM)
执行JS脚本的环境提供的对象,又叫浏览器对象。
不同的浏览器实现同一个功能,所使用的宿主对象的方法可能不同/方法的实现方式也可能不同——>兼容性问题。
三、XML与注意事项
DOM:通过浏览器提供的一套方法表示或者操作HTML和XML。
JS中有一些变量/标签名与JS的内置属性冲突,例如id、name。所以要避免冲突。
<name></name>
<script>
var name = document.getElementsByTagName('name');//可能会冲突
</script>
改成:
<username></username>
<script>
var username = document.getElementsByTagName('username');
</script>
注意:
标签:<person>
元素:标签及标签内所有文本加到一起叫一个元素。
DOM不能操作CSS
<style>
div {
width: 200px;
height: 200px;
background-color: red;
}
</style>
<body>
<div></div>
<script>
var div = document.getElementsByTagName('div')[0];
div.style.backgroundColor = 'green';
</script>
</body>
实际上操作的是每一个元素上的style属性,给标签添加了行内样式(inline style)。而CSS行内样式优先级最高。