摘要:當(dāng)函數(shù)被調(diào)用時(shí),參數(shù)作為輸入傳遞到函數(shù),并且函數(shù)可以選擇的返回輸出。在中函數(shù)也是一個(gè)對(duì)象函數(shù)名是作為函數(shù)聲明或函數(shù)表達(dá)式的一部分聲明的標(biāo)識(shí)符函數(shù)的作用域取決于函數(shù)名是一個(gè)聲明還是表達(dá)式。命名函數(shù)表達(dá)式作用函數(shù)體內(nèi)部引用當(dāng)前函數(shù)。
function
函數(shù)的聲明三種方式:
function test () {}
函數(shù)直接量
var test2 = function () {}
Function構(gòu)造函數(shù)
var test3 = new Function(arg1, arg2, function_body)
區(qū)別:
函數(shù)是一個(gè)可以被其它代碼或其自身調(diào)用的代碼片段,或者是一個(gè)指該函數(shù)的變量variable。
當(dāng)函數(shù)被調(diào)用時(shí),參數(shù)arguments作為輸入傳遞到函數(shù),并且函數(shù)可以選擇的返回輸出。
在JS中函數(shù)也是一個(gè)對(duì)象Object
函數(shù)名是作為函數(shù)聲明或函數(shù)表達(dá)式的一部分聲明的標(biāo)識(shí)符identifier.
函數(shù)的作用域scope取決于函數(shù)名是一個(gè)聲明還是表達(dá)式。
匿名函數(shù)
匿名函數(shù)是一個(gè)沒有函數(shù)名的函數(shù)
function () {}
命名函數(shù)
命名函數(shù)是具有函數(shù)名稱的函數(shù)
function fn () {}
立即執(zhí)行表達(dá)式
立即調(diào)用函數(shù)表達(dá)式(IIFE)是一個(gè)函數(shù),其在函數(shù)被加載到瀏覽器的編譯器之后直接調(diào)用的。
(function () {})()
命名函數(shù)表達(dá)式
作用:函數(shù)體內(nèi)部引用當(dāng)前函數(shù)。
命名函數(shù)表達(dá)式,函數(shù)名將會(huì)(只會(huì))作為函數(shù)體(作用域內(nèi))的本地變量。這樣可以避免使用非標(biāo)準(zhǔn)的aruments.callee屬性
var math = { "fn": fn (n) { if (n <= 1) { return 1; } return n * fn(n - 1); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78730.html
摘要:在上面的執(zhí)行中,只是又返回了一個(gè)新的對(duì)象,但是并沒有執(zhí)行新對(duì)象里面的屬性對(duì)應(yīng)的匿名函數(shù)喔,那就是沒有改變的值啊,所以你繼續(xù)也會(huì)輸出同樣的結(jié)果啊。 關(guān)于javascript中的閉包 我GitHub上的菜鳥倉(cāng)庫(kù)地址: 點(diǎn)擊跳轉(zhuǎn)查看其他相關(guān)文章 文章在我的博客上的地址: 點(diǎn)擊跳轉(zhuǎn) ? ? ? ? 其實(shí)關(guān)于閉包的定義,很多種說法,而關(guān)于閉包的解釋,更是多不勝數(shù)了。很多說得非常復(fù)雜,也有很多...
摘要:作用域的類別可以影響到變量的取值,分為詞法作用域靜態(tài)作用域和動(dòng)態(tài)作用域。而,采用的就是詞法作用域,或者叫靜態(tài)作用域。 關(guān)于javascript中的作用域和作用域鏈 我GitHub上的菜鳥倉(cāng)庫(kù)地址: 點(diǎn)擊跳轉(zhuǎn)查看其他相關(guān)文章 文章在我的博客上的地址: 點(diǎn)擊跳轉(zhuǎn) ? ? ? ? 前面的文章說到, 執(zhí)行上下文的創(chuàng)建階段,主要有三個(gè)內(nèi)容: ? ? ? ? 1、創(chuàng)建變量對(duì)象;2、初始化作用域...
摘要:兩日前,發(fā)了一篇吐槽,莫名的火了一把。關(guān)于的第一個(gè),其實(shí)就是聲明一個(gè)常量,不允許變更。另外對(duì)象迭代這里出自,阮一峰大神寫的入門指南,對(duì)象篇。 兩日前,發(fā)了一篇吐槽,莫名的火了一把。經(jīng)過大家的建議與鼓勵(lì),于是修改了簡(jiǎn)歷,開始了重新投遞,2天后接到第一份面試邀請(qǐng)。 此文為個(gè)人面試經(jīng)歷,QA問答過程與總結(jié),不透露面試公司及面試人員,內(nèi)容真實(shí),如果有面試過我的大佬看到博客,歡迎指出問題。 循序...
摘要:關(guān)于提供了一種優(yōu)雅的方式來隱式傳遞一個(gè)對(duì)象引用,因此可以將設(shè)計(jì)得更加簡(jiǎn)潔并且易于復(fù)用。對(duì)于的誤解新手會(huì)誤認(rèn)為指向函數(shù)本身。這時(shí)候,可以使用的方法強(qiáng)制使指向函數(shù)對(duì)象。的綁定和函數(shù)聲明的位置沒有任何關(guān)系,只取決于函數(shù)的調(diào)用方式。 關(guān)于this this 提供了一種優(yōu)雅的方式來隱式傳遞一個(gè)對(duì)象引用,因此可以將API設(shè)計(jì)得更加簡(jiǎn)潔并且易于復(fù)用。 /* *this 隱式傳遞...
摘要:變量提升變量的聲明寫在可以在使用變量之后函數(shù)提升函數(shù)可以先調(diào)用,后聲明上面先解釋了下我理解的這兩個(gè)概念的定義。參考前端基礎(chǔ)進(jìn)階三變量對(duì)象詳解關(guān)于變量提升的理解 變量提升:變量的聲明寫在可以在使用變量之后;函數(shù)提升:函數(shù)可以先調(diào)用,后聲明; 上面先解釋了下我理解的這兩個(gè)概念的定義。要真正理解它們,最好從變量對(duì)象的角度出發(fā)。引出變量對(duì)象的概念,要先理解執(zhí)行上下文,也就是當(dāng)控制器執(zhí)行到可執(zhí)行...
閱讀 4286·2021-09-26 10:11
閱讀 2678·2021-07-28 00:37
閱讀 3231·2019-08-29 15:29
閱讀 1193·2019-08-29 15:23
閱讀 3139·2019-08-26 18:37
閱讀 2474·2019-08-26 10:37
閱讀 606·2019-08-23 17:04
閱讀 2354·2019-08-23 13:44