成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JS函數(shù)的一些基礎(chǔ)知識(shí)

Ashin / 2809人閱讀

摘要:為了更好的講解構(gòu)造函數(shù)原型原型鏈等,我們需要復(fù)習(xí)一下函數(shù)的一些基礎(chǔ)知識(shí)。閉包在復(fù)習(xí)了函數(shù)的相關(guān)基礎(chǔ)知識(shí)之后,我們終于可以進(jìn)入閉包。我們可以這樣理解閉包,首先,閉包是一個(gè)函數(shù),是一個(gè)什么樣子的函數(shù)呢是一個(gè)可以訪問另一個(gè)函數(shù)中變量的函數(shù)。

為了更好的講解構(gòu)造函數(shù)、原型、原型鏈等,我們需要復(fù)習(xí)一下函數(shù)的一些基礎(chǔ)知識(shí)。接下來,就讓我們一起回味一些JS的基礎(chǔ)知識(shí)點(diǎn)。

全局變量VS局部變量

簡單粗暴的來說,全局/局部變量就是:
1)全局變量:函數(shù)外部聲明,或者不使用var關(guān)鍵字,在運(yùn)行的任何地方都可以引用。
2)局部變量:函數(shù)內(nèi)部聲明,且實(shí)用var關(guān)鍵字,只能在函數(shù)內(nèi)部引用。
如:

1)var a = 10;//全局變量
2)function test(){
    a = 10;//全局變量
}
3)function test(){
    var a = 10;//局部變量
}

當(dāng)然,我們也可以實(shí)用bind()、call()、apply()等方法改變運(yùn)行環(huán)境。
詳情可以查閱:
1)bind()
2)call()
3)apply()

arguments

函數(shù)的arguments是一個(gè)對(duì)象,非數(shù)組,而是一個(gè)類數(shù)組的對(duì)象,包含lenth屬性,適用于動(dòng)態(tài)參數(shù)的場景,不建議濫用,因?yàn)樗鼤?huì)影響你代碼的可讀性。

function add(a,b){
    return arguments[0]+arguments[1];//相當(dāng)于return a+b;
}
add(1,2);//3
this指針

如果this在全局作用于下,那么this指向window。如果this在對(duì)象的方法中,則指向該對(duì)象。

window.name = "wuhuiming";
var i = {
    name:"huimingwu"
};
function sayName(){
    console.log(this.name);
}
sayName();//wuhuiming
i.sayName = sayName;
i.sayName();//huimingwu
函數(shù)的屬性

函數(shù)有三個(gè)屬性:name、length和prototype。其中,length又與arguments.length有一點(diǎn)點(diǎn)的區(qū)別,即:length與arguments.length:前一個(gè)為函數(shù)的length,在聲明時(shí)確定,后一個(gè)為arguments的length,根據(jù)調(diào)用時(shí)傳遞的值確定。

閉包

在復(fù)習(xí)了函數(shù)的相關(guān)基礎(chǔ)知識(shí)之后,我們終于可以進(jìn)入閉包。作為一個(gè)前端開發(fā)者,看見閉包,是否就立刻興奮了呢?閉包又是什么呢?接下來,讓我們走進(jìn)閉包的世界。

什么是閉包?

在 JavaScript高級(jí)程序設(shè)計(jì) 一書中,閉包是這樣被描述的——“閉包是指有權(quán)訪問另一個(gè)函數(shù)作用域中的變量的函數(shù)”。我們可以這樣理解閉包,首先,閉包是一個(gè)函數(shù),是一個(gè)什么樣子的函數(shù)呢?是一個(gè)可以訪問另一個(gè)函數(shù)中變量的函數(shù)。

閉包的簡單案例
function test(){
    var i = "Hello World";
    function test2() {
        return i;
    }
    return test2;
}

var test = test();
test();//Hello World

以上就是一個(gè)閉包的簡單案例,test2是一個(gè)函數(shù),是一個(gè)什么樣的函數(shù)呢?它是一個(gè)可以訪問父函數(shù)test作用域中變量i的函數(shù),就這樣,一個(gè)簡單的閉包就產(chǎn)生了。

當(dāng)然,閉包的應(yīng)用還有很多很多很多,如Jquery的封裝方式就是采用了閉包,有興趣的小伙伴可以去圍觀圍觀Jquery的源碼。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/93189.html

相關(guān)文章

  • JS基礎(chǔ)知識(shí):變量對(duì)象、作用域鏈和閉包

    摘要:前言這段時(shí)間一直在消化作用域鏈和閉包的相關(guān)知識(shí)。而作用域鏈則是這套規(guī)則這套規(guī)則的具體運(yùn)行。是變量對(duì)象的縮寫那這樣放有什么好處呢我們知道作用域鏈保證了當(dāng)前執(zhí)行環(huán)境對(duì)符合訪問權(quán)限的變量和函數(shù)的有序訪問。 前言:這段時(shí)間一直在消化作用域鏈和閉包的相關(guān)知識(shí)。之前看《JS高程》和一些技術(shù)博客,對(duì)于這些概念的論述多多少少不太清楚或者不太完整,包括一些大神的技術(shù)文章。這也給我的學(xué)習(xí)上造成了一些困惑,...

    Keven 評(píng)論0 收藏0
  • MongoDB指南---4、MongoDB基礎(chǔ)知識(shí)-使用MongoDB Shell

    摘要:也可以在中使用函數(shù)來執(zhí)行命令行程序。注意,這種方式并不能保護(hù)數(shù)據(jù)庫免受惡意用戶的攻擊,只能預(yù)防自己的手誤。必須使用語法才能將解釋為相應(yīng)的變量。上一篇文章指南基礎(chǔ)知識(shí)數(shù)據(jù)類型下一篇文章指南創(chuàng)建刪除文檔 上一篇文章:MongoDB指南---3、MongoDB基礎(chǔ)知識(shí)-數(shù)據(jù)類型下一篇文章:MongoDB指南---5、創(chuàng)建、刪除文檔 本節(jié)將介紹如何將shell作為命令行工具的一部分來使用,如...

    mykurisu 評(píng)論0 收藏0
  • MongoDB指南---4、MongoDB基礎(chǔ)知識(shí)-使用MongoDB Shell

    摘要:也可以在中使用函數(shù)來執(zhí)行命令行程序。注意,這種方式并不能保護(hù)數(shù)據(jù)庫免受惡意用戶的攻擊,只能預(yù)防自己的手誤。必須使用語法才能將解釋為相應(yīng)的變量。上一篇文章指南基礎(chǔ)知識(shí)數(shù)據(jù)類型下一篇文章指南創(chuàng)建刪除文檔 上一篇文章:MongoDB指南---3、MongoDB基礎(chǔ)知識(shí)-數(shù)據(jù)類型下一篇文章:MongoDB指南---5、創(chuàng)建、刪除文檔 本節(jié)將介紹如何將shell作為命令行工具的一部分來使用,如...

    wujl596 評(píng)論0 收藏0
  • 翻譯連載 |《你不知道JS》姊妹篇 |《JavaScript 輕量級(jí)函數(shù)式編程》- 引言&前言

    摘要:我稱之為輕量級(jí)函數(shù)式編程。序眾所周知,我是一個(gè)函數(shù)式編程迷。函數(shù)式編程有很多種定義。本書是你開啟函數(shù)式編程旅途的絕佳起點(diǎn)。事實(shí)上,已經(jīng)有很多從頭到尾正確的方式介紹函數(shù)式編程的書了。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson?。 禮ou-Dont-Know-JS》作者 譯者團(tuán)隊(duì)(排名不分先后):阿希、blueken、brucecham、...

    2bdenny 評(píng)論0 收藏0
  • 【連載】前端個(gè)人文章整理-從基礎(chǔ)到入門

    摘要:個(gè)人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Ashin

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<