欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中幾個容易混淆的概念總結

 更新時間:2015年04月14日 10:17:55   投稿:hebedich  
這篇文章主要介紹了javascript中幾個容易混淆的概念總結,都是平時經(jīng)常遇到的問題,這里推薦給大家,有需要的小伙伴參考下吧。

1.

var name = "The Window";
var object = {
name : "My Object",
getName: function(){
return this.name;
}
};

這里的getName()方法只簡單地返回this.name 的值。以下是幾種調(diào)用object.getName()的
方式以及各自的結果。
object.getName(); //"My Object"
(object.getName)(); //"My Object"
(object.getName = object.getName)(); //"The Window",在非嚴格模式下

第三種情況下(object.getName=object.getName);等價于var fn=(object.getName=object.getName);fn();

2.

function outputNumbers(count){
for (var i=0; i < count; i++){
//alert(i);
}
var i; //重新聲明變量
alert(i); //計數(shù)
}

outputNumbers(5); 

JavaScript 從來不會告訴你是否多次聲明了同一個變量;遇到這種情況,它只會對后續(xù)的聲明視而不
見(不過,它會執(zhí)行后續(xù)聲明中的變量初始化)。匿名函數(shù)可以用來模仿塊級作用域并避免這個問題。

3.

function(){
//這里是塊級作用域
}(); //出錯!

這段代碼會導致語法錯誤,是因為JavaScript 將function 關鍵字當作一個函數(shù)聲明的開始,而函
數(shù)聲明后面不能跟圓括號。然而,函數(shù)表達式的后面可以跟圓括號。要將函數(shù)聲明轉換成函數(shù)表達式,
只要像下面這樣給它加上一對圓括號即可。

(function(){
//這里是塊級作用域
})();

4.

function outputNumbers(count){
(function () {
for (var i=0; i < count; i++){
alert(i);
}
})();
alert(i); //導致一個錯誤!
}

在這個重寫后的outputNumbers()函數(shù)中,我們在for 循環(huán)外部插入了一個私有作用域。在匿名
函數(shù)中定義的任何變量,都會在執(zhí)行結束時被銷毀。因此,變量i 只能在循環(huán)中使用,使用后即被銷毀。
而在私有作用域中能夠訪問變量count,是因為這個匿名函數(shù)是一個閉包,它能夠訪問包含作用域中的
所有變量。

這種技術經(jīng)常在全局作用域中被用在函數(shù)外部,從而限制向全局作用域中添加過多的變量和函數(shù)。
一般來說,我們都應該盡量少向全局作用域中添加變量和函數(shù)。在一個由很多開發(fā)人員共同參與的大型
應用程序中,過多的全局變量和函數(shù)很容易導致命名沖突。而通過創(chuàng)建私有作用域,每個開發(fā)人員既可
以使用自己的變量,又不必擔心搞亂全局作用域。例如:

(function(){
var now = new Date();
if (now.getMonth() == 0 && now.getDate() == 1){
alert("Happy new year!");
}
})();

把上面這段代碼放在全局作用域中,可以用來確定哪一天是1 月1 日;如果到了這一天,就會向用
戶顯示一條祝賀新年的消息。其中的變量now 現(xiàn)在是匿名函數(shù)中的局部變量,而我們不必在全局作用域
中創(chuàng)建它。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關文章

  • 淺析JavaScript中的常用算法與函數(shù)

    淺析JavaScript中的常用算法與函數(shù)

    這篇文章主要介紹了JavaScript中的常用算法與函數(shù)。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • layui-table對返回的數(shù)據(jù)進行轉變顯示的實例

    layui-table對返回的數(shù)據(jù)進行轉變顯示的實例

    今天小編就為大家分享一篇layui-table對返回的數(shù)據(jù)進行轉變顯示的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序如何獲取用戶信息

    微信小程序如何獲取用戶信息

    這篇文章主要為大家詳細介紹了微信小程序如何獲取用戶信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • layui table復選框禁止某幾條勾選的實例

    layui table復選框禁止某幾條勾選的實例

    今天小編就為大家分享一篇layui table復選框禁止某幾條勾選的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 詳解使用uni-app開發(fā)微信小程序之登錄模塊

    詳解使用uni-app開發(fā)微信小程序之登錄模塊

    這篇文章主要介紹了詳解使用uni-app開發(fā)微信小程序之登錄模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • JS實現(xiàn)DIV高度自適應窗口示例

    JS實現(xiàn)DIV高度自適應窗口示例

    這篇文章主要介紹了JS實現(xiàn)DIV高度自適應窗口的方法,結合完整實例形式分析了JS通過動態(tài)操作頁面元素屬性實現(xiàn)高度自適應的相關技巧,需要的朋友可以參考下
    2017-02-02
  • js獲取圖片base64的正確實現(xiàn)方式

    js獲取圖片base64的正確實現(xiàn)方式

    這篇文章主要給大家介紹了關于js獲取圖片base64的正確實現(xiàn)方式,BLOB是二進制大對象,是一個可以存儲二進制文件的容器,?在計算機中BLOB常常是數(shù)據(jù)庫中用來存儲二進制文件的字段類型,需要的朋友可以參考下
    2024-01-01
  • 微信小程序模板與設置WXML實例講解

    微信小程序模板與設置WXML實例講解

    這篇文章主要介紹了微信小程序模板與設置WXML,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 魔鬼字典 JavaScript 筆記 代碼比較多亂

    魔鬼字典 JavaScript 筆記 代碼比較多亂

    魔鬼字典 JavaScript 筆記 代碼比較多亂,對于有經(jīng)驗的看容易點。
    2010-03-03
  • 淺談JavaScript中的屬性:如何遍歷屬性

    淺談JavaScript中的屬性:如何遍歷屬性

    下面小編就為大家?guī)硪黄獪\談JavaScript中的屬性:如何遍歷屬性。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論