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

淺談javascript 函數(shù)內(nèi)部屬性

 更新時(shí)間:2015年01月21日 09:44:01   投稿:hebedich  
這篇文章主要介紹了淺談javascript 函數(shù)內(nèi)部屬性的相關(guān)資料,需要的朋友可以參考下

        在函數(shù)內(nèi)部有兩個(gè)特殊的屬性:arguments 和 this。arguments是一個(gè)類數(shù)組對(duì)象,包含傳入的所有參數(shù),
        但是這個(gè)對(duì)象還有一個(gè)名叫callee的屬性,該屬性是一個(gè)指針,指向擁有這個(gè)arguments對(duì)象的函數(shù)。

        請(qǐng)看經(jīng)典的階乘函數(shù)例子:

復(fù)制代碼 代碼如下:

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

        使用第一種方式是沒有錯(cuò)的,但是耦合性太高,不太好,函數(shù)名改變之后,內(nèi)部的函數(shù)名也要改變
        第二種方式就是低耦合的做法,無論函數(shù)名怎么改變都不會(huì)影響函數(shù)執(zhí)行。

        this引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對(duì)象,或者也可以說是this值

復(fù)制代碼 代碼如下:

        window.color = "red";
        var o = {color: "blue"};
        function sayColor() {
            alert(this.color);
        }
        sayColor();//red
        o.sayColor = sayColor;
        o.sayColor();//blue

        caller屬性,保存著調(diào)用當(dāng)前函數(shù)的函數(shù)的引用,如果是在全局作用域中調(diào)用當(dāng)前函數(shù),它的值為Null

復(fù)制代碼 代碼如下:

 function outer() {
            innter();
        }
        function innter(){
            //alert(innter.caller);//耦合性太高
            alert(arguments.callee.caller);
        }
        outer();

以上就是javascript函數(shù)內(nèi)部屬性的全部內(nèi)容了,希望小伙伴們能夠喜歡

相關(guān)文章

最新評(píng)論

长岛县| 嫩江县| 德化县| 沙湾县| 常宁市| 延川县| 龙泉市| 连城县| 宝鸡市| 清镇市| 隆昌县| 孝感市| 邵武市| 方山县| 兰州市| 紫云| 毕节市| 岳阳县| 江西省| 天水市| 特克斯县| 西昌市| 四子王旗| 南川市| 平顺县| 潞城市| 漯河市| 新巴尔虎右旗| 图片| 昭觉县| 潞西市| 东港市| 武宁县| 会东县| 布尔津县| 双牌县| 青川县| 康定县| 深圳市| 简阳市| 仁化县|