标签:
欢迎转载,请注明出处!
https://gii16.github.io/javascript/2016/07/29/learnfromjquery.html
欢迎交流,可去笔者博客园中评论:
http://www.cnblogs.com/Gii16/p/5721020.html
笔者的老板是做文本挖掘研究的,所以研究JS这方面可以算是笔者的一个爱好吧。因为项目压力比较重,可能更新的会比较慢,还请各位看官海涵。
博客中研究的Jquery为3.1.0版本,下载自https://jquery.com/。
1.匿名函数自执行————jquery-3.1.0.js(15行开始)
2."use strict"模式(严格模式)————jquery-3.1.0.js(17行)
严格模式,是JS发展中出现的新模式,出发点是使JS代码更安全减少错误。
部分内容参考了阮一峰的博客,http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html。
声明方法: 1.在<script></script>代码块的产生实际效果的第一行加入字符串“use strict”;
2.在函数产生实际效果的第一行加入字符串字符串“use strict”;
注:产生实际效果这个说法来自阮一峰的博客,笔者进行了一些实验,发现除了在“use strict”前面放空行或其他字符串,比如:“123”、“abc”这种,不会影响进入严格模式,其他代码如:alert(123);、123甚至一个空分号;等都会导致“use strict”失效,因此大家在使用的时候,为防止出错,直接放在第一行就行。
作用域:方法1在整个JS代码块中有效,方法2只在单个函数中有效。
常用做法:方法2使用远多于方法1,原因:假设存在文件A和文件B,文件B在代码块开头使用“use strict”,当A引用B时,两个JS代码块merge后,“use strict”会出现在新的代码块的开头,整个代码块都会是严格模式,这会导致原来A文件中不符合严格模式的代码报错;当B引用A时,两个JS代码块merge后,“use strict”位于新代码块中间,严格模式失效。
而在JQuery和许多其他开源库中,常用的做法是将“use strict”和代码块都放在一个立即执行的匿名函数中,然后通过这个匿名函数把需要的变量、函数都建立起来。这么做的好处是……(未完待续)
通过JQuery源码学习JS使用技巧——持续更新······(7月31日)
标签:
原文地址:http://www.cnblogs.com/Gii16/p/5723284.html