最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript函數(shù)內(nèi)部屬性和函數(shù)方法實(shí)例詳解

 更新時(shí)間:2016年03月17日 11:55:41   作者:鱷山維蝦殼集思園  
函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊。通過本文給大家介紹JavaScript函數(shù)內(nèi)部屬性和函數(shù)方法,感興趣的朋友一起學(xué)習(xí)吧

函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊。

函數(shù)是對象,有自己的屬性和方法 。首先通過console下輸出的函數(shù)屬性方法來直觀的看一下:

函數(shù)內(nèi)部屬性只要包括兩個(gè)特殊的對象:arguments和this。

函數(shù)屬性包括:length和prototype

函數(shù)方法(非繼承)包括:apply()和call()

繼承而來的函數(shù)方法:bind()、toString()、toLocaleString()、valueOf()

其他的目前不熟,后面再補(bǔ)充

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

在函數(shù)內(nèi)部,有兩個(gè)特殊的對象,arguments和this。

arguments屬性

arguments是一個(gè)類數(shù)組對象,包含傳入函數(shù)的所有參數(shù),arguments的主要用途是保存函數(shù)參數(shù),但這個(gè)對象有一個(gè)callee屬性,該屬性是一個(gè)指針,指向擁有這個(gè)arguments對象的函數(shù),下面是非常經(jīng)典的階乘函數(shù)。

function factorial (num){
if(num <= 1){
return 1;
} else{
return num * factorial(num-1); 
}
}

定義階乘函數(shù)一般都會用到遞歸算法,如上面代碼所示,在有函數(shù)名字,并且函數(shù)名字以后也不會改變的情況下,這種定義沒問題。但是這個(gè)函數(shù)的執(zhí)行與函數(shù)名factorial緊緊耦合在了一起,為了消除這種緊密耦合現(xiàn)象(函數(shù)名字改變等情況),可以使用arguments.callee。

function factorial(num){
if(num<=1){
return 1;
} else{
return num * arguments.callee(num-1);
}
}

重寫后的factorial()函數(shù)的函數(shù)體內(nèi),沒有再引用函數(shù)名factorial。這樣即使改變函數(shù)名字,都可以保證正常完成遞歸調(diào)用。例如:

var trueFactorial = factorial; //改變原函數(shù)體的指針(保存位置)
factorial = function (){ //factorial 指向返回0的新函數(shù)
return 0;
}
alert(trueFactorial(5)); //120
alert(factorial(5)); //0

如果,不使用arguments.callee,那么trueFactorial(5)同樣返回0;

this屬性

2. 函數(shù)的方法

每個(gè)函數(shù)都包含兩個(gè)非繼承而來的方法:apply()和call()。這兩個(gè)方法的用途都是在特定的域中調(diào)用函數(shù)(看到這里木有看懂);其真正強(qiáng)大之處在于能夠擴(kuò)充函數(shù)賴以運(yùn)行的作用域

關(guān)于JavaScript函數(shù)內(nèi)部屬性和函數(shù)方法的相關(guān)知識,小編就給大家介紹這么多,希望對大家有所幫助!

相關(guān)文章

  • 分享一款超好用的JavaScript 打包壓縮工具

    分享一款超好用的JavaScript 打包壓縮工具

    這篇文章主要介紹了寫一個(gè)飛快的 JavaScript 打包壓縮工具,非常好用,本文給大家分享實(shí)現(xiàn)思路,需要的朋友可以參考下
    2020-04-04
  • 前端錯(cuò)誤日志上報(bào)的超詳細(xì)解決方案

    前端錯(cuò)誤日志上報(bào)的超詳細(xì)解決方案

    這篇文章主要介紹了如何使用Node.js搭建一個(gè)簡單的錯(cuò)誤監(jiān)控平臺,用于收集和上報(bào)Vue.js項(xiàng)目的運(yùn)行錯(cuò)誤,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • 原生js canvas實(shí)現(xiàn)簡單貪吃蛇

    原生js canvas實(shí)現(xiàn)簡單貪吃蛇

    這篇文章主要為大家詳細(xì)介紹了原生js canvas實(shí)現(xiàn)簡單貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • JavaScript獲取css行間樣式,內(nèi)連樣式和外鏈樣式的簡單方法

    JavaScript獲取css行間樣式,內(nèi)連樣式和外鏈樣式的簡單方法

    下面小編就為大家?guī)硪黄狫avaScript獲取css行間樣式,內(nèi)連樣式和外鏈樣式的簡單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • 詳解ES6 CLASS在微信小程序中的應(yīng)用實(shí)例

    詳解ES6 CLASS在微信小程序中的應(yīng)用實(shí)例

    這篇文章主要介紹了詳解ES6 CLASS在微信小程序中的應(yīng)用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • JS實(shí)現(xiàn)放大、縮小及拖拽圖片的方法【可兼容IE、火狐】

    JS實(shí)現(xiàn)放大、縮小及拖拽圖片的方法【可兼容IE、火狐】

    這篇文章主要介紹了JS實(shí)現(xiàn)放大、縮小及拖拽圖片的方法,可兼容IE及火狐等瀏覽器,通過javascript自定義函數(shù)實(shí)現(xiàn)針對圖片的放大、縮小及拖拽等功能,涉及javascript動(dòng)態(tài)操作頁面元素的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • JavaScript之ECharts用法講解

    JavaScript之ECharts用法講解

    這篇文章主要介紹了JavaScript之ECharts用法講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JavaScript中常用數(shù)據(jù)處理函數(shù)groupBy的用法詳解

    JavaScript中常用數(shù)據(jù)處理函數(shù)groupBy的用法詳解

    數(shù)據(jù)處理與分析中,對數(shù)據(jù)進(jìn)行分組是非常常見的功能,不論是實(shí)際工作中,還是在面試的場景中應(yīng)用十分廣泛,尤其在函數(shù)式編程中?groupBy?十分常見,下面我們就來學(xué)習(xí)一下groupBy的用法吧
    2023-12-12
  • 小程序?qū)崿F(xiàn)長按保存圖片的方法

    小程序?qū)崿F(xiàn)長按保存圖片的方法

    這篇文章主要介紹了小程序?qū)崿F(xiàn)長按保存圖片的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • JavaScript常用內(nèi)置對象用法分析

    JavaScript常用內(nèi)置對象用法分析

    這篇文章主要介紹了JavaScript常用內(nèi)置對象用法,簡單總結(jié)分析了javascript String對象、Date對象、Math類、數(shù)組對象等常見對象的相關(guān)功能、方法與使用注意事項(xiàng),需要的朋友可以參考下
    2019-07-07

最新評論

游戏| 易门县| 铁岭县| 元谋县| 治多县| 平遥县| 缙云县| 张掖市| 迁西县| 平遥县| 疏勒县| 沙湾县| 张家界市| 冕宁县| 酉阳| 本溪| 康保县| 曲沃县| 临漳县| 鹿泉市| 德庆县| 莒南县| 清河县| 漯河市| 镇平县| 江都市| 措勤县| 靖安县| 孟连| 诏安县| 忻州市| 灵川县| 秀山| 弋阳县| 永靖县| 铜山县| 南溪县| 武安市| 嘉定区| 五河县| 英山县|