26 進(jìn)階:函數(shù)

課堂筆記

  • 函數(shù)的聲明方法
1.function f(){}
2.var f = function(){}
3.var x = function y(){}
//當(dāng)函數(shù)y被賦值給變量x之后,y這個(gè)變量的作用域就只存在與函數(shù)內(nèi)部,在函數(shù)外部y不再可以被訪問
4. 箭頭函數(shù): (x,y)=>{return x+y}
5.var f = new Function('x','y','return x+y')

需要注意的是,箭頭函數(shù)內(nèi)部的this沒有特殊含義,就像一個(gè)一般變量一樣,如下面代碼

var a = {
    b:{
        c:()=>{console.log(this)},
        d:function(){console.log(this)}
       }
}
a.b.c()//Window
a.b.d()//b
  • name屬性
var x = function y(){}
x.name === 'y' //true
var f = new Function('x','y','return x+y')
f.name // 'anonymous'
  • 函數(shù)在內(nèi)存中實(shí)際的內(nèi)容以字符串的形式存在(見紙質(zhì)筆記)
  • 答案為 undefined

函數(shù)有自己的作用域。它的作用域與變量一樣,就是其聲明時(shí)所在的作用域,與其運(yùn)行時(shí)所在的作用域無關(guān)。

  • image.png
for(let i=0;i<li.length;i++){
  li.onclick = function(){console.log(i)}
}

當(dāng)<li>被點(diǎn)擊時(shí),打印出的值為6。代碼執(zhí)行for循環(huán)為每個(gè)<li>綁定函數(shù),函數(shù)執(zhí)行的時(shí)候for 循環(huán)已經(jīng)結(jié)束。

image.png
  • 普通模式下,給call()傳入的第一個(gè)參數(shù),會被封裝成對象
function f(){console.log(this)}
f.call(1) // Number{1}
f.call('s') //String {"s"}
f.call(true) //Boolean {true}
  • 易錯(cuò)習(xí)題


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

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

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,621評論 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,774評論 1 45
  • 如果可以 要用最好看的字體 把你的名字 一筆一筆寫進(jìn)日記本里 那一頁我不會寫上日期 這樣就能 一生有你
    絢爛夏花閱讀 304評論 1 1
  • 霜降 霜寒葉落川 雨打菊枝顫 百草風(fēng)摧折 南飛孤雁艱
    詩韻涵心閱讀 248評論 0 2
  • 從楓葉熟了開始 想寫一句詩 等枇杷落了滿地 卻忘了怎么寫字
    四夕山人閱讀 185評論 0 1

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