【阅读】《head first html5》第二章——javascript和DOM
- 使用var声明一个javascript变量
- 数字布尔值和串是基本类型
- 布尔值为true和false
- 数字可以是整数或浮点数
- 未赋值的变量值为undefined(未定义的)
- undefined和null是两个不同的值。undefined表示的是一个变量未赋值;null表示这个变量有一个空值
- 数值表达式、布尔表达式和串表达式会分别得到一个数、布尔值或串值
- 要重复执行代码块,可以使用for或者while循环
- for循环和while循环可以做同样的事,要根据具体的情况使用最合适的形式
- 要结束一个for或者while循环,某个时刻条件测试必须为false
- 可以使用if/else语句根据一个条件测试做出判断。
- 条件测试是布尔表达式
- 可以向Web页的head部分或体部分<body>增加javascript,或者把它放在单独的文件中,并从Web页面链接这个文件。
- 要用<script>元素包围你的javascript代码(或指向代码的链接)
- 浏览器架加载一个Web页面时,会创建一个文档对象模型(Document Object Model,DOM),这是Web页面的一个内部表示
- 通过使用javascript检查和修改DOM,可以使你的Web页面有交互性。
- 可以使用document.getElementById访问页面中的一个元素
- document.getElementById使用一个元素的id在DOM种查找元素
- 可以使用innerHTM属性修改这个元素的内容
- 如果你想在页面完全加载之前访问或修改元素,会得到一个javascript错误,你的代码将不能够工作(解决办法看下面一条)
- 将一个函数赋至windows.onload属性,可以在浏览器完成页面加载之后运行这个函数中的代码
- 可以使用一个数组来存储多个值(可以是不同类型的)
- 要访问一个数组中的一个值,需要使用索引。索引是一个整数,指定数组中元素的位置(从0开始)
- 数组的length属性会告诉你数组中有多少个元素
- 通过结合循环和数组,可以按顺序访问一个数组中的各个元素
- Math是一个javascript库,包含大量与数学有关的函数
- Math.random会返回一个介于0和1的浮点数(但是不会为1)
- Math.floor把一个浮点小数后面的所有位,将它转换为一个整数(Math.floor(5.9) == 5)
关于javascript的变量类型问题
- alert("one" * 3);输出的是NaN,意思是非数字
- alert("3" * "2");输出的是6,嘻嘻~串也可以转成数字的哦
关于javascript的变量声明问题
- 最好不要使用_和$开头的变量,因为以$开头的变量通常是为javascript库保留的,另外有些程序员会由于一些约定使用以_开头的变量,这些变量很少使用,建议你离它们远一点(书中原话就这样),除非你有很充分的理由
关于javascript代码放在页面中的何处的问题
- 只有一点,如果要控制DOM(就是网页中的那些html),必须要等DOM已经存在才行。有时我们把javascript放在head之后,body之前,那么由于浏览器是从上往下,也就是访问到document.getElementById("text")的时候,你的DOM树(页面代码中)已经有了这个text元素才行的