信息点
所有的电子电路只能识别和使用布尔数据:电路中有电流或是没有电流
认识DOM
-
W3C对DOM的定义
一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和修改文档的内容、结构和样式。 -
DOM可以让任何一种程序设计语言对使用任何一种标记语言编写出来的任何一份文档进行操控。本书的重点是教会你如何通过JavaScript使用DOM。
-
HTML5 DOM
HTML5 DOM的众多新特性极大地改进了标记的语义,我们得以通过和控制各种媒体,元素具备了完善的绘图能力,浏览器本地存储超越了cookie限制,更有内置的拖放支持,等等。
JS代码的放置
JS代码放在
- 独立的JS文件可以更好地分离内容、样式、功能
- 在文档的最后,标签之前引入js代码,可以提高页面的加载速度
- <script>标签脚本默认是JavaScript,没必要指定type=“text/javascript”
语法
- JS大小写敏感
- 用换行分隔不同语句,如果要把多条语句放在同一行上,要用分号分隔
- 变量名可以由字母、数字、美元符号、下划线组成,但第一个字符不能是数字。
- 用下划线优化(提高可读性)变量名;用驼峰命名法优化函数名、方法名、对象属性名
- JS是一种弱类型语言,允许将数值和字符串拼接在一起
- 在if语句中使用花括号是个好习惯,它可以提高脚本的可读性,但不是必需的。
注释
JS单行注释 | JS多行注释 | HTML注释(单行或多行) | |
---|---|---|---|
// 注释 | /* 注释 */ |
- JS单行注释的另一标注方法:<!-- 注释。注意:如果写了向右的箭头,会被识别为文本
良好的编程习惯
- 每行只写一句代码——易于阅读、便于跟踪执行顺序
- 在每条语句的末尾都加上分号
- 不管选择用双引号还是单引号,在整个脚本中保持一致
- JavaScript没有强制要求提前声明变量,但提前声明变量是一种良好的编程习惯。如:
var mood, age; //声明两个变量
var mood = "happy"; //声明变量的同时赋值
var mood="happy", age=33 //声明多个变量,同时赋值(最有效率)
Array
相当于python中的tuple、list。可以创建关联数组,用字符串来代替数字值,提高代码可读性——不推荐使用。关联数组的本质是修改了Array对象的属性,我们应尽可能使用通用的对象
var beatles = Array( "Amy", "Paul");
var beatles = ["Amy", "Paul"]
beatles[0] = "Ann"
var L = Array();
L["name"] = "John"
L["age"] = 30
对象
相当于python中的字典
var lemmon = Object();
lennon.name = "John"
var lennon = {name:"John", year:"1940"};
IF语句
- 如果if语句中的花括号内只有一条语句,花括号可省略,且全部内容可以写在同一行上
- if语句可以有一个else 子句。包含在else 子句中的语句会在给定条件为假时执行
if (1 > 2) {
alert("The world has gone mad!");
}
if (1 > 2) alert("The world has gone mad!");
if (1 > 2) {
alert("The world has gone mad!");
} else{
alert("All is well with the world");
}
操作符
运算操作符
year = year + 1
year++
year += 1
比较操作符
操作符 | = | == | != | === | !== |
---|---|---|---|---|---|
含义 | 赋值 | 相等 | 不相等 | 严格相等 | 严格不相等 |
- fales == “”
- 严格相等和严格不相等会同时比较变量的类型和变量的值
逻辑操作符
&& | || | ! |
---|---|---|
逻辑与 and | 逻辑或 or | 逻辑非 not |
if ( !(num>10 || num <5) ){
alert("The number is in the right range")
}
循环语句
while循环
只要给定条件的求值结果是true,花括号里的代码会一直执行
关键:while循环的内部必须发生一些会影响循环控制条件的事情
while (condition){
statements;
}
var count =1;
whild (count<11){
alert(count);
count++
}
do循环
循环语句内部的代码至少执行一次——先执行,后判断条件
do {
statements;
} while (condition);
for循环
与循环有关的所有内容都包含在for语句的圆括号部分,循环控件结构更加清晰。
最常见的用途是遍历数组里的全体元素。
for (var count = 1; count < 11; count++ ) {
alert (count);
}
var beatles = Array("John","Paul","George","Ringo");
for (var count = 0 ; count < beatles.length; count++ ) {
alert(beatles[count]);
}
函数
一组代码,可随时调用
function shout() {
}
局部变量与全局变量
函数中的var用于声明局部变量;如果没有使用var,变量为全局变量。若存在与之同名的全局变量,这个函数就会改变那个全局变量的值。
函数在行为方面应该像一个自给自足的脚本,一定要把它内部的变量全都明确地声明为局部变量。如果总是在函数里使用var关键字来定义变量,就能避免任何形式的二义性隐患。
对象object
对象是自包含的数据集体,包含在对象里的数据以属性property和方法method两种形式访问
把html文档称为节点树,把html看作是根元素
元素节点、文本节点、属性节点
未完待续