目录
1.Javascript简史
- 大致介绍了一下JS和DOM的基本概念,然后介绍了曾经因为没有制定一个标准导致程序员必须考虑DOM脚本运行在哪个浏览器上,后面W3C统一了一个标准化的DOM,得到了市场大部分浏览器的支持,终于使得DOM脚本可以编写一次,随处运行。
2.Javascript语法
2.1准备工作
JavaScript必须在html文档上运行,可以通过两种方式在html文档中加入js代码,一是通过把js代码放在head标签中的script标签中
<head>
<script>
Javascript statements
</script>
</head>
二是把js代码存为一个.js的独立文件,然后在script标签中的src属性指向该文件
<body>
HTML statements here
<script src="file.js">
</script>
</body>
2.2 JavaScript基本语法
- 语句
- 注释: 单行 // 。多行 /* 注释 */
- 变量:弱类型
- 数据类型:字符串,数值,布尔值(true false)
- 数组:数组可以保存同时保存多种数据类型的值,并且还能保存其他数组(类似于二维数组)
<script> var aGather = new Array(); aGather[0] = 1; aGather[1] = 2;//第一种声明数组并赋值的方式 var another = [1, 2, 3, 4, 'a', 'b']; //第二种声明数组并赋值的方式 </script>
还有一种关联数组,可以把数组下标的数字替换成字符串,但不推荐使用
- 对象:创建对象同样可以用Object关键字或者花括号两种方式进行创建。
2.3 & 2.4 & 2.5 操作&条件语句&循环语句
介绍了一些基础的操作,条件语句,循环语句
2.6 函数
function name(arguments) {
statement;
} //定义一个函数的语法, 函数可以有返回值 通过return实现
还提到一个变量的作用域问题,(1)全局变量:在脚本任意位置可以使用。(2)局部变量:只存在于声明变量函数的内部。 如果在函数内部不使用var进行声明 ,则是一个全局变量。
2.7 对象
对象内的数据可以通过两种形式访问——属性和方法
- 属性:属于某个特定对象的变量 eg:Person.mood
- 方法:某个特定对象才能调用的函数 eg:Person.walk()
同时JS还提供了一些内建对象。比如Array,就可以通过Arrry的length属性来查看数组里有多少个元素,还有Math对象和Date对象等内建对象。
除了内建对象,还有一些由运行环境提供的宿主对象(web应用中环境就是浏览器),浏览器提供的对象被称为宿主对象,包括Form,Element等。
3.DOM
3.1 & 3.2 & 3.3 "D" "O" "M"
通过DOM去理解文档。把一个HTML文档看作一个树的模型,根元素为html,然后深入一层有head和body两个子元素,以此继续深入把整个文档看作一个节点树。
3.4 节点
世界由原子构成,在DOM看来文档由节点构成。
- 元素节点。 诸如<body><p><ul>之类的元素可以看作元素节点,元素可以包含其他的元素。
- 文本节点。<p>this is a text</p> ”this is a text" 便是一个文本节点。文本节点都包含在元素节点内部。
- 属性节点。<p title="introduce">this is a text</p> 在DOM中,title="introduce"就是一个属性节点,属性节点是被包含在元素节点中的。
有三种DOM方法可以获取元素节点:
- getElementById('id') 返回给定id属性的元素节点的对象
- getElementByTagName('TagName') 返回一个对象数组
- getElementByClassName('ClassName') 返回一个对象数组
简要总结:
- 一份文档就是一节点树
- 节点的类型:元素节点,文本节点,属性节点
- getElementById返回一个对象
- getElementByTagName 和 getElementByClassName返回一个对象数组
- 每个节点都是一个对象
3.5 获取和设置属性
- 获取属性。Object.getAttribute(attribute)
- 设置属性。Object.setAttribute(attribute,value)
这两种方法不属于document对象,而是通过元素节点调用。