天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 中級筆記 第三章

3,作用域
所有的面向對象的語言都有某種形式的作用域,JavaScript也不例外。在JavaScript里,作用域是由函數劃分的,而不是由塊(while,if之類的)來劃分的。
我們先來看一個簡單的作用域的例子。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
在if塊中,雖然foo的值改為“b“,但還是在全局作用域中,所以輸出結果是“b“。
基于瀏覽器的JavaScript語言有一門有趣的特性是,所有屬于全局作用域的變量都是window對象的屬性。
看下面代碼:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
我們再上例的基礎上,再添加一個函數來修改foo的值,代碼如下:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
結果也許有點另你意外,不過結果肯定是正確的。代碼②的結果是輸出 "b",而不是"c"。原因就是作用域有關,雖然調用change()來改變foo的值,但是此時的改變只
在函數作用域內起作用,并不會改變全局作用域內的foo的值。
如果想在change()函數內修改全局的foo的值,我們可以去掉變量的聲明,例如:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
JavaScript中,如果變量沒有顯式定義,它就是全局定義的。所以調用change()后,會修改全局foo的值。最終輸出"c" 。
4,上下文對象
JavaScript中,代碼總是有一個上下文對象,代碼處于該對象之內。上下文對象是通過this變量來體現的。這個變量永遠指向當前代碼所處的對象中。
全局對象其實是window對象的屬性。
接下來,我們看一個上下文對象的例子。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
再此基礎上,我們再看一個例子:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
本例中,我們把obj.hide變量的上下文對象變為window對象時,代碼寫得并不好理解。幸運的是,JavaScript提供了一套更好的方法來解決。
現在我們有請call和apply兩位先生上場,通過它們也可以完成同樣的功能。先看call:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
通過obj.hide.call(window),我們將此時的上下文對象改為window對象。call方法的第一個參數就是上下文對象。
call方法也可以傳遞更多的參數,如下所示:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
另外apply方法跟call類型,它的第一個參數也是上下文對象,不過后面的參數則是一個數組。如下所示:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
最后我們來看一個通過上下文,call和apply結合的例子。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
在setBodyColor函數中,apply的第二個參數是數組,而前面我們講過,arguments 也是一個偽數組,那么它們2個能聯系起來嗎?
把 changeColor.apply( document.body , ["blue"]); 改為 changeColor.apply( document.body , arguments );,
然后給setBodyColor();函數傳參數。如下代碼所示:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
通過這些例子,你也許對上下文的概念比較熟悉了。上下文在面向對象的編程中非常重要。

JavaScript技術JavaScript 中級筆記 第三章,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲合集综合久久性色 | 97无码人妻精品1国产精东影业 | 日韩精品无码久久一区二区三 | 青柠在线观看视频在线高清 | A级毛片高清免费网站不卡 a级毛片高清免费视频 | 狠狠色色综合网站 | 涩涩爱涩涩电影网站 | 就去色一色 | 夜色爽爽爽久久精品日韩 | adc免费观看 | 晓雪老师我要进你里面好爽 | 伊人久久精品AV无码一区 | 高傲教师麻麻被同学调教123 | 欧美影院在线观看完整版 mp4 | 日本精品无码久久久久APP | 免费毛片观看 | 被黑人做的白浆直流 | 午夜黄视频| 人人碰国产免费线观看 | 亚洲精品久久久久AV无码林星阑 | 亚洲高清无在码在线无弹窗 | 久久棋牌评测 | 俄罗斯性xxxx | 恋夜秀场支持安卓版全部视频国产 | 麻豆AV蜜桃AV久久 | 国产精亚洲视频综合区 | yellow视频免费观看 | 22eee在线播放成人免费视频 | 97在线超碰免费视频 | 被黑人群jian又粗又大H | 在线免费观看亚洲视频 | 亚洲国产精品日本无码网站 | 狠狠综合久久综合88亚洲 | 一个人的免费高清影院 | 九九热视频免费观看 | 91热久久免费频精品99欧美 | 熟妇内谢69XXXXXA片 | 夜夜国产亚洲视频香蕉 | 成人做视频免费 | 精彩国产萝视频在线 | 亚洲精品无码不卡在线播放he |