读Prism.js源码收获

最近公司需要构建一种给普通用户使用的脚本语言,其中需要一个到脚本编辑器,我需要研究一下如何使脚本关键字高亮显示,于是找到一个最短的语法高亮包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


转载于:https://my.oschina.net/starstroll/blog/342425

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值