最近公司需要构建一种给普通用户使用的脚本语言,其中需要一个到脚本编辑器,我需要研究一下如何使脚本关键字高亮显示,于是找到一个最短的语法高亮包Prism.js学习,读完代码学到了很多东西,当然每个人基础不同,可能这些你早就会了,但也可能你读一次比我获益更多。
1. selector不是只有jQuery等框架才有,现在的浏览器就内置selector,内置有document.querySelector、document.querySelectorAll等。
2. 方法对象中的call方法和apply方法的区别:
call(object,param1,param2,param3) === apply(object,[param1,param2,param3])
3. hasOwnProperty方法不检索prototype上的属性。
4. 赋值语句中写或判断是如果前面的取到为null、undefined、false则取下一个,如果全都取不到则取最后一个。
var a=null,b=1;
var c = a||b;//c=b=1
var a=null,b=undefined;
var c = a||b;//c=b=undefined
var a="xxx",b=undefined;
var c = a||b;//c=a="xxx"
5. String.match方法返回的不只是一个简单的数组,当只匹配到一组时还会有input和index两个属性,input是指被匹配的字符串也就是this,index是指match到的字符串所在位置。
6.RegExp.exec方法要比String.match功能更强大,具体看参考http://www.w3school.com.cn/jsref/jsref_exec_regexp.asp
7.foreach还可以这么写:
//写法一:
for (var i=0, item; item = list[i++];) {
...
}
//写法二:
list.map(function(item){
...
});
8.浏览器中还有一些我们没有留意到的事件,而且它们非常有用(如:DOMAttrModified),具体参考http://www.w3.org/TR/DOM-Level-3-Events/#legacy-event-types
9.Chrome的调试工具中隐藏着一个事件查看方法getEventListeners