• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn)

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:18:39
    文檔

    總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn)

    總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn):要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請(qǐng)輸入代碼gExp,Function。今天我們就說(shuō)Function這種數(shù)據(jù)結(jié)構(gòu)。 在js種函數(shù)實(shí)際上是對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例。和其他引用類型一樣,都具有屬性和方法。
    推薦度:
    導(dǎo)讀總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn):要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請(qǐng)輸入代碼gExp,Function。今天我們就說(shuō)Function這種數(shù)據(jù)結(jié)構(gòu)。 在js種函數(shù)實(shí)際上是對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例。和其他引用類型一樣,都具有屬性和方法。

    要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請(qǐng)輸入代碼gExp,Function。今天我們就說(shuō)Function這種數(shù)據(jù)結(jié)構(gòu)。

    在js種函數(shù)實(shí)際上是對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例。和其他引用類型一樣,都具有屬性和方法。

    1. 函數(shù)定義有幾種方法

    1)函數(shù)聲明語(yǔ)法定義

     function sum(num1,num2){
     return num1+num2;
     }

    2)函數(shù)表達(dá)式

    注意函數(shù)表達(dá)式后邊有一個(gè)分號(hào);

    var sum=function(num1,num2){
     return num1+num2;
    }

    使用Function 構(gòu)造函數(shù)

    使用構(gòu)造函數(shù)可以接收任意數(shù)量的參數(shù),但最后一個(gè)參數(shù)始終被看成是函數(shù)體,而前面的參數(shù)則枚舉出了參數(shù)

    var sum=new Function("num1","num2","return num1+num2")

    當(dāng)然第三種方法不友好,也不推薦。

    函數(shù)名僅僅是指向函數(shù)的指針,所以函數(shù)名與包含對(duì)象指針的其他變量沒有什么不同。也就是說(shuō)一個(gè)函數(shù)可能會(huì)有多個(gè)名字。
    在這里函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別呢?

    解析器在向執(zhí)行環(huán)境中加載數(shù)據(jù)的時(shí)候,對(duì)函數(shù)聲明和函數(shù)表達(dá)式是不一樣的。解析器首先會(huì)讀取函數(shù)聲明,并且使得這段函數(shù)聲明代碼在任何代碼之前都可調(diào)用。這就是我們平時(shí)所說(shuō)的函數(shù)聲明提升。函數(shù)表達(dá)式不一樣,他必須等到函數(shù)解析器執(zhí)行到他所在的代碼塊的時(shí)候,才會(huì)被真正的執(zhí)行。比較下面2個(gè)例子

    console.log(sum(10,10));
    
    function sum(n1,n2){
     return n1+n2;
    }
    
    以上代碼會(huì)正常執(zhí)行
    
    再看!
    
    console.log(sum(10,10));
    
    var sum=function(n1,n2){
     return n1+n2;
    }
    
    以上執(zhí)行器就會(huì)報(bào)錯(cuò)!

    2.函數(shù)沒有重載

    如果聲明了2個(gè)同名函數(shù),結(jié)果是后面的函數(shù)覆蓋了前面的函數(shù)。

    function sun(a){
     return a+100;
    }
    function sun(a){
     return a+200;
    }
    
    var result=sum(2)//202

    3.函數(shù)的內(nèi)部屬性

    包括this,arguments

    具體不再敘述了

    4.函數(shù)的屬性和方法

    函數(shù)有2個(gè)屬性,length和prototype

    length表示函數(shù)希望接收命名參數(shù)的個(gè)數(shù)。

    function a(name){
     //todo
    }
    function b(name,age){
     //todo
    }
    function c(){
     //todo
    }
    
    a.length //1
    b.length //2
    c.length //0

    prototype屬性對(duì)于引用類型來(lái)說(shuō)很重要,會(huì)有專門講解,此處不再這贅述。

    每個(gè)函數(shù)都包含2個(gè)非繼承的方法 apply,call

    這兩個(gè)方法的用途都是在特定的作用域中調(diào)用函數(shù),其實(shí)就是設(shè)置函數(shù)體內(nèi)的this指代的值。

    首先。apply()方法接收2個(gè)參數(shù),一個(gè)是函數(shù)運(yùn)行的作用域,另一個(gè)是參數(shù)數(shù)組,第二個(gè)參數(shù)可以是數(shù)組的實(shí)例,也可以是arguments.

    function sum(num1,num2){
     return num1+num2;
    }
    
    function test1(a,b){
     return sum.apply(this,arguments);
    }
    
    function test2(c,d){
     return sum.apply(this.[c,d]);
    }
    
    console.log(test1(1,1)) //2
    
    console.log(test2(1,1)) //2

    call方法和apply方法沒有多大的區(qū)別。區(qū)別就是call方法的第二個(gè)參數(shù)必須得傳遞的參數(shù)一個(gè)個(gè)列舉出來(lái)。

    使用call和apply來(lái)擴(kuò)充作用域最大的好處就是對(duì)象不和任何方法耦合

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn)

    總結(jié)js函數(shù)相關(guān)知識(shí)點(diǎn):要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請(qǐng)輸入代碼gExp,Function。今天我們就說(shuō)Function這種數(shù)據(jù)結(jié)構(gòu)。 在js種函數(shù)實(shí)際上是對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例。和其他引用類型一樣,都具有屬性和方法。
    推薦度:
    標(biāo)簽: 知識(shí) js 函數(shù)
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲精品tv久久久久| 久久91这里精品国产2020| 四虎精品影院4hutv四虎| 久久精品不卡| 成人无码精品1区2区3区免费看| 日本免费精品一区二区三区| 久久精品国产秦先生| 国产精品香港三级国产AV| 亚洲第一永久AV网站久久精品男人的天堂AV| 国产精品久久久久久影院| 人妻熟妇乱又伦精品视频| 四虎国产精品成人免费久久| 国产人成精品综合欧美成人| 66精品综合久久久久久久| 国内精品在线视频| A级精品国产片在线观看| 亚洲国产精品一区二区成人片国内 | 精品人妻无码专区中文字幕| 日本精品久久久中文字幕| 2022国产精品福利在线观看| 久久国产精品无码一区二区三区 | 日本精品一区二区三区在线视频一| 国产成人精品免高潮在线观看| 精品免费视在线观看| 99久久人妻无码精品系列蜜桃| 精品少妇一区二区三区在线| 国产精品成人h片在线| 国产成人精品曰本亚洲79ren | 正在播放酒店精品少妇约| 久久久久久青草大香综合精品| 国产精品原创巨作av女教师| 日产精品久久久久久久性色| 无码人妻精品一区二区三18禁| 99九九精品免费视频观看| 国产精品666| 久久精品国产亚洲AV麻豆网站| 国产成人精品cao在线| 国产精品成人99久久久久91gav | 99国产欧美久久久精品蜜芽| 成人精品视频一区二区三区 | 狼色精品人妻在线视频|