@@ -45,22 +45,22 @@ <h2 id="-">执行入口</h2>
45
45
</ ul >
46
46
< h3 id ="script- "> script标签</ h3 >
47
47
< p > 最基本,最常用的脚本引入方式。例如:</ p >
48
- < pre > < code > <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script></ code > </ pre >
49
- < p > 尽管在HTML4和XHTML里面,要求开发者使用< code > type</ code > 属性来制定脚本的类型。但是主流浏览器都默认认为脚本类型是< code > text/javascript</ code > 。</ p >
50
- < p > 在HTML5的规范内< a href ="http://www.w3.org/html/wg/drafts/html/master/scripting-1.html#the-script-element " > ^ 1</ a > ,< code > script</ code > 标签的type属性是完全可选的。</ p >
48
+ < pre > < code > <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
49
+ </ code > </ pre > < p > 尽管在HTML4和XHTML里面,要求开发者使用< code > type</ code > 属性来制定脚本的类型。但是主流浏览器都默认认为脚本类型是< code > text/javascript</ code > 。</ p >
50
+ < p > 在HTML5的规范内< sup id =" fnref1 " > < a href ="#fn1 " > 1</ a > </ sup > ,< code > script</ code > 标签的type属性是完全可选的。</ p >
51
51
< h3 id ="eval- "> eval函数</ h3 >
52
52
< ul >
53
53
< li > < code > eval</ code > is evil</ li >
54
54
< li > < code > eval</ code > 有访问本地scope的权利</ li >
55
55
</ ul >
56
56
< pre > < code > var a = 1;
57
57
eval("a=2");
58
- a === 2; // ==> true</ code > </ pre >
59
- < h3 id ="function- "> Function构造函数</ h3 >
58
+ a === 2; // ==> true
59
+ </ code > </ pre > < h3 id ="function- "> Function构造函数</ h3 >
60
60
< ul >
61
- < li > function是“first-class citizen”< a href ="https://developer.mozilla.org/en-US/docs/functional-javascript/First-class_citizen " > ^ 2</ a > ;自然有相应的构造函数</ li >
61
+ < li > function是“first-class citizen”< sup id =" fnref2 " > < a href ="#fn2 " > 2</ a > </ sup > ;自然有相应的构造函数</ li >
62
62
< li > < code > new Function(arg1, arg2, ..., fnStr)</ code > </ li >
63
- < li > < code > Function</ code > < a href ="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function " > ^ 3</ a > 构造函数本质是创建一个函数对象;其创建的函数执行也并不能访问其所在创建环境的闭包,只能访问本地作用域(local scope)和全局作用域(global scope)</ li >
63
+ < li > < code > Function</ code > < sup id =" fnref3 " > < a href ="#fn3 " > 3</ a > </ sup > 构造函数本质是创建一个函数对象;其创建的函数执行也并不能访问其所在创建环境的闭包,只能访问本地作用域(local scope)和全局作用域(global scope)</ li >
64
64
< li > < code > Function()</ code > 和< code > new Function()</ code > 效果一样</ li >
65
65
</ ul >
66
66
< pre > < code > (function() {
@@ -69,16 +69,31 @@ <h3 id="function-">Function构造函数</h3>
69
69
func();
70
70
a === 2; // ==> false
71
71
}());
72
- a === 2; // ==> true</ code > </ pre >
73
- < h3 id ="settimeout-setinterval "> setTimeout和setInterval</ h3 >
74
- < pre > < code > setTimeout("alert('haha')", 0);</ code > </ pre >
75
- < p > 这个和eval有异曲同工之妙,对作用域的访问也是类似的。</ p >
76
- < p > 另外要说名,以上几点,除了script标签的方法之外,其他方法都在< code > strict</ code > 模式< a href ="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode " > ^ 4</ a > 下不可用。</ p >
72
+ a === 2; // ==> true
73
+ </ code > </ pre > < h3 id ="settimeout-setinterval "> setTimeout和setInterval</ h3 >
74
+ < pre > < code > setTimeout("alert('haha')", 0);
75
+ </ code > </ pre > < p > 这个和eval有异曲同工之妙,对作用域的访问也是类似的。</ p >
76
+ < p > 另外要说名,以上几点,除了script标签的方法之外,其他方法都在< code > strict</ code > 模式< sup id =" fnref4 " > < a href ="#fn4 " > 4</ a > </ sup > 下不可用。</ p >
77
77
< h3 id ="html- "> HTML內联事件回调</ h3 >
78
- < pre > < code > <a href='#hello' onclick="alert(this.href)">Say hello</a></ code > </ pre >
79
- < p > 这样如同在click事件的< code > Target Phase</ code > 运行了一个回调。< code > this</ code > 指向目标元素本身。</ p >
78
+ < pre > < code > <a href='#hello' onclick="alert(this.href)">Say hello</a>
79
+ </ code > </ pre > < p > 这样如同在click事件的< code > Target Phase</ code > 运行了一个回调。< code > this</ code > 指向目标元素本身。</ p >
80
80
< h3 id ="-hack "> 其他Hack</ h3 >
81
- < p > 利用MessageChannel等新特性可以触发一些函数的执行< a href ="https://github.com/kriskowal/asap/blob/master/asap.js "> ^5</ a > 。也许Javascript的其他的角落也有不少其他执行脚本的入口吧。</ p >
81
+ < p > 利用MessageChannel等新特性可以触发一些函数的执行< sup id ="fnref5 "> < a href ="#fn5 "> 5</ a > </ sup > 。也许Javascript的其他的角落也有不少其他执行脚本的入口吧。</ p >
82
+ < hr >
83
+ < div class ="footnotes ">
84
+ < ol >
85
+ < li id ="fn1 "> < p > < a href ="http://www.w3.org/html/wg/drafts/html/master/scripting-1.html#the-script-element "> http://www.w3.org/html/wg/drafts/html/master/scripting-1.html#the-script-element</ a > </ p >
86
+ < a href ="#fnref1 " class ="footnoteBackLink " title ="Jump back to footnote 1 in the text. "> ↩</ a > </ li >
87
+ < li id ="fn2 "> < p > < a href ="https://developer.mozilla.org/en-US/docs/functional-javascript/First-class_citizen "> https://developer.mozilla.org/en-US/docs/functional-javascript/First-class_citizen</ a > </ p >
88
+ < a href ="#fnref2 " class ="footnoteBackLink " title ="Jump back to footnote 2 in the text. "> ↩</ a > </ li >
89
+ < li id ="fn3 "> < p > < a href ="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function "> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function</ a > </ p >
90
+ < a href ="#fnref3 " class ="footnoteBackLink " title ="Jump back to footnote 3 in the text. "> ↩</ a > </ li >
91
+ < li id ="fn4 "> < p > < a href ="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode "> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode</ a > </ p >
92
+ < a href ="#fnref4 " class ="footnoteBackLink " title ="Jump back to footnote 4 in the text. "> ↩</ a > </ li >
93
+ < li id ="fn5 "> < p > < a href ="https://github.com/kriskowal/asap/blob/master/asap.js "> https://github.com/kriskowal/asap/blob/master/asap.js</ a > </ p >
94
+ < a href ="#fnref5 " class ="footnoteBackLink " title ="Jump back to footnote 5 in the text. "> ↩</ a > </ li >
95
+ </ ol >
96
+ </ div >
82
97
83
98
</ div >
84
99
< footer class ="misc clearfix ">
@@ -92,8 +107,8 @@ <h3 id="-hack">其他Hack</h3>
92
107
</ div >
93
108
< div class ="right ">
94
109
< ul class ="inline-list ">
95
- < li > Rev < a href ="https://github.com/RobinQu/Programing-In-Javascript/tree/5870e0e /chapters/Browser_Scripting/Document_Loading/ScriptExecution.md "> 5870e0e </ a > </ li >
96
- < li > Thu Mar 27 2014 17:42:10 GMT+0800 (CST)</ li >
110
+ < li > Rev < a href ="https://github.com/RobinQu/Programing-In-Javascript/tree/65f38de /chapters/Browser_Scripting/Document_Loading/ScriptExecution.md "> 65f38de </ a > </ li >
111
+ < li > Thu Mar 27 2014 19:21:58 GMT+0800 (CST)</ li >
97
112
</ ul >
98
113
</ div >
99
114
</ footer >
0 commit comments