P11:JavaScript解释器对<!--的处理与对//的处理是一样的
P17:数组中的元素可以是变量
P23:使用==符号时,空字符串与false会返回true,要使用===
P28:变量使用下划线分开,函数用驼峰法
P29:与php不同,在函数内部可以直接使用全局变量,不需要加关键字global
P31:由浏览器提供的预定义对象被称为宿主对象
PP:script最好放在</body>之前,可以提高性能
P51:如果对于链接,想取消默认的行为,可以在自己定义的onclick函数的末尾添加return false;
P54:元素节点,属性节点,文本节点的nodeType值分别为1,2,3
PP:childNodes 返回的数组包含所有类型节点
PP:'#'是未指向任何目标的内部链接
PP:若js文件是从<head>部分用<script>标签调用的,它将在HTML文档之前加载到浏览器里。若<script>位于</body>之前,就不能保证哪个文件先结束加载。会导致脚本加载时文档可能不完整,所以模型也不完整。
PP:对象检测:注意getElementById没有用括号
if(document.getElementById){
statements using getElementById
}
PP:性能考虑:(1)尽量少访问DOM和尽量减少标记。(2)合并和放置脚本。可以减少加载页面时发送的请求数量,而减少请求数量通常是在性能优化时首先要考虑的。把所有<script>标签都放到 的末尾,</body>标记之前,就可以让页面变得更快。(3)压缩脚本。所谓压缩脚本,就是把脚本文件中不必要的字节,如空格和注释,统统删除。
PP:可以采用添加的方法来更改onload
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload != 'function'){
window.onload=func;
}
else{
window.onload=function(){
oldonload();
func();
}
}
}
PP:nodeName属性总是返回一个大写字母的值,即使元素在HTML文档里是小写字母
PP:readyState属性值:0表示未初始化,1表示正在加载,2表示加载完毕,3表示正在交互,4表示完成
PP:即使某种特定的浏览器会引起问题,也没有必要使用浏览器嗅探代码。对浏览器的名称和版本号进行嗅探的办法很难做到面面俱到,而且往往会导致非常复杂难解的代码。
P152:CSS属性font-family变成DOM属性fontfamily,因为加号和减号是保留字符。CSS里面的含有连字符的属性都转成驼峰法的值。
P152:style属性只能返回内嵌样式。外部样式以及文档<head>部分声明的样式都无法获取
P163:
P176: int parseInt(string)相当于atoi,还有parseFloat();
P190:如果把position属性值是absolute的元素A放入一个position属性值是relative元素B,B就成为A的容器元素,而A将在B的显示区域里按absolute方式进行摆放。
P194:Math.ceil(number)返回一个不小于number的证书