国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 13:20:48
字體:
供稿:網(wǎng)友

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

        請看經(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);
            }
        }

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

        this引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對象,或者也可以說是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)容了,希望小伙伴們能夠喜歡

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜陵市| 探索| 将乐县| 玛曲县| 怀柔区| 灌阳县| 浦北县| 禄劝| 兴文县| 苏尼特左旗| 广灵县| 东山县| 健康| 巧家县| 西华县| 达拉特旗| 客服| 青阳县| 康保县| 峨边| 南乐县| 于田县| 尚义县| 新河县| 青田县| 宿迁市| 洮南市| 卓资县| 武乡县| 福贡县| 百色市| 北安市| 桃园市| 呈贡县| 道孚县| 平湖市| 石棉县| 肥乡县| 手游| 丹棱县| 临海市|