国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 彭阳县| 泰宁县| 桂东县| 莆田市| 青岛市| 铅山县| 昌黎县| 上林县| 辰溪县| 凤庆县| 湄潭县| 司法| 涿鹿县| 昭苏县| 南郑县| 纳雍县| 英山县| 石首市| 武夷山市| 涟水县| 西吉县| 昔阳县| 洛隆县| 绍兴县| 古丈县| 兴业县| 哈密市| 贡嘎县| 油尖旺区| 旌德县| 淅川县| 河南省| 柳江县| 临泽县| 马尔康县| 定兴县| 邵武市| 内江市| 玛纳斯县| 诏安县| 鄂伦春自治旗|