27函數(shù)

函數(shù)的 5 種聲明

具名函數(shù)

 function f(x,y){
     return x+y
 }
 f.name // 'f'

匿名函數(shù)

 var f
 f = function(x,y){
     return x+y
 }
 f.name // 'f'

具名函數(shù)賦值

 var f
 f = function f2(x,y){ return x+y }
 f.name // 'f2'
 console.log(f2) // undefined
面試會(huì)問(wèn)
window.Function
 var f = new Function('x','y','return x+y')
 f.name // "anonymous"

箭頭函數(shù)

 var f = (x,y) => {
     return x+y
 }
 var sum = (x,y) => x+y
 var n2 = n => n*n

面試會(huì)問(wèn):函數(shù)的name屬性


image.png

如何調(diào)用函數(shù) f.call

f.call(asThis, input1,input2)
其中 asThis 會(huì)被當(dāng)做 this,[input1,input2] 會(huì)被當(dāng)做 arguments
image.png

this 和 arguments

function f(){
    'use strict'
    console.log(this)
    console.log(arguments)
    return undefined
}
f.call(1,2,3) // this 為 1,arguments 為 [2,3]
不使用 'use strict',如果沒(méi)傳參,默認(rèn)this是window,使用 'use strict',如果沒(méi)傳參,默認(rèn)this是undefined
第一個(gè)參數(shù)是this,是為了和Java看起來(lái)像

作用域---類(lèi)似樹(shù)

樹(shù)

每次寫(xiě)題目記得把變量提升(function也是哦)


先打印出undefined在1

易錯(cuò)點(diǎn):f4用的是全局變量的那個(gè)a


image.png

這里第七行加了個(gè)a=2,然后再調(diào)用f4的,所以這時(shí)候a已經(jīng)被賦值2了


無(wú)論點(diǎn)擊哪一個(gè),都是打印length的值,因?yàn)殚_(kāi)始就初始化完畢了,值會(huì)變化

閉包

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JavaScript 函數(shù)重中之重 函數(shù)的五種聲明方式 如何調(diào)用函數(shù) 什么是call stack this 和 a...
    joker731閱讀 199評(píng)論 0 0
  • 函數(shù)和對(duì)象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對(duì)于任何一門(mén)語(yǔ)言來(lái)說(shuō)都是核心的概念。通過(guò)函數(shù)可以封裝任意多條語(yǔ)句,而且...
    道無(wú)虛閱讀 4,950評(píng)論 0 5
  • 1.函數(shù)參數(shù)的默認(rèn)值 (1).基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。
    趙然228閱讀 831評(píng)論 0 0
  • 函數(shù)參數(shù)的默認(rèn)值 基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 上面代碼檢查函數(shù)l...
    呼呼哥閱讀 3,708評(píng)論 0 1
  • JavaScript的相關(guān)語(yǔ)法知識(shí):1、函數(shù)(important)基本上所有的高級(jí)語(yǔ)言(C、OC、JavaScri...
    天山雪蓮_38324閱讀 713評(píng)論 0 2

友情鏈接更多精彩內(nèi)容