Javascript 学习书学习书 推荐推荐
前一段时间看了一本javascript的书,书名为Javascript DOM 高级程序设计 由【加】Jeffrey Sambells和【美】
Aaron Gustafson著,李松峰 李雅雯 等译。感觉绝对是一本值得看的书。感兴趣的朋友可以看一下。下面是我从其中抽出来的
javascript常见陷阱和对象的概念整理出来的。希望对大家能有一些帮助。
Ø Javascript语法中常见的陷阱语法中常见的陷阱
² 区分大小写
² 单引号和双引号实际上是没有特殊的区别的,这点我是从看了这本书才开始真正的知道,虽然在以前写程序时写过‘'号的字符
串形式,但是却没有先觉性的发现“哦,原来这样也可以。”
另外大多数情况下还都是用‘'来表示字符串的,因为XHTML规范要求所有XHTML属性值都用“”括起来。这样混合代码时会很清
晰。
² 换行,千万不要忽略这一点。因为如果在一个字符串中你用了回车做换行那么对不起了,浏览器会告诉你我不认识你的字符
串。因为它会自动将回车转换成”;“但是为了解决这个问题,还好它提供了一个转义字符作为替代。如下所示:
var='<h2 class=”a”>A list</h2>\
<ol>\
<li class=”a”></li>\
</ol>'
有人会说可以用加号的,这些我知道。用加号作为字符串的操作符。估计是底层进行了+号的重载(?!)。
² 可选的分号和花括号
如果你不相信,我告诉你这是可以的。可以说这点javascript做的还是比较智能的。但是和前述那本书作者一样,我想我们做
程序员还是规规矩矩些比较好。
² 重载
有时候或许你会突发奇想曲做一个javascript的重载函数,你会发现这时候竟然只有最后一个可以运行,前面的都没有得到录
用机会。这是什么原因呢?
原来,先前的某某已经被后面的给替换掉了。也就是通常说的覆盖。再进一步说就是程序只引用作用域链中的最后一个同名函
数。
² 匿名函数
不得不说这个家伙很有用。
² 作用域解析和闭包
这个作用域相信大家都比较熟悉,因为每个编程语言都有这样的概念。
而作用域链是用来描述一种路径的属于,沿着该路径可以确定变量的值(或者当函数被调用时要使用的方法)
闭包是与作用域相关的一个概念,它指的是内部函数即使在外部哈数执行完成并终止以后,仍然可以访问其外部函数的属性。
当引用一个变量或方法时,javascript会沿着由对象执行路径构成的作用域链进行解析,查找变量最近定义的值。一旦找到,
即使用该值。
² 迭代对象
不要怀疑这用的不好的话,很可能会产生错误。不信就看这一个例子:
var all=document.getElementsByTagName(‘*');
for(i in all){
//对all[i]元素进行操作。