美文网首页
函数内部属性

函数内部属性

作者: Jabo | 来源:发表于2018-10-24 23:38 被阅读0次

arguments

  1. 类数组对象,包含传入函数中的所有参数
  2. arguments的主要用途是保存函数参数,但这个对象还有一个名叫 callee 的属性
  3. 该属性是一个指针,指向拥有这个argument对象的函数

经典阶乘Demo

        /**
         * @description 经典的阶乘函数
         * @param {Number}
         * 存在的问题
         * 执行函数与函数名factorial 紧紧耦合
         */
        function factorial(num) {
            if (num <= 1) {
                return 1;
            } else {
                return num * factorial(num - 1);
            }
        }

消除函数的强耦合

        /**
         * @description 使用arguments.callee
         * @param {Number}
         * 消除上面的紧密耦合现象
         */
        function factorial(num) {
            if (num <= 1) {
                return 1;
            } else {
                return num * arguments.callee(num - 1);
            }
        }

this

  1. 函数执行的环境对象
  2. 全局中this的引用对象是window
        /**
         * @description this对象用例
         */
        var color = "red";
        var o = { color: "blue" };

        function sayColor() {
            alert(this.color);
        }

        sayColor();  //red

        o.sayColor = sayColor;
        o.sayColor();   //blue

caller

        /**
         * caller
         * @return {EventString} 返回调用函数结构体
         */
        function outer() {
            inner();
        }

        function inner() {
            alert(inner.caller)
        }

        outer()

        /**
         * @description 松散耦合
         * arguments.callee.caller
         */
        function outer() {
            inner();
        }

        function inner() {
            alert(arguments.callee.caller)
        }

        outer()

相关文章

  • 函数内部属性

    arguments 类数组对象,包含传入函数中的所有参数 arguments的主要用途是保存函数参数,但这个对象还...

  • 继承

    Function类型 函数的定义 函数的内部属性 callee:该属性指向拥有这个arguments对象的函数 c...

  • 前端学习卡-作用域链

    作用域链是什么?函数内部属性[[Scope]],由ECMA-262标准第三版定义,该内部属性包含了函数被创建的作用...

  • JavaScript--构造函数

    私有属性:定义在构造函数内部的变量和函数;不能在构造函数之外的访问变量和函数。公有属性:能够被构造函数创建的所有对...

  • js高级程序设计阅读摘录4

    自定义函数实现sort排序(排查诡异默认排序) 函数内部属性 在函数内部,有两个特殊的对象:arguments 和...

  • 2019-07-08

    1.在主函数使用时,如果要用本类(主函数所在类)的属性,属性需要在主函数内部进行定义,或者属性本身就为静态。静态方...

  • 10. Function 类型

    学习要点: 1.函数的声明方式2.作为值的函数3.函数的内部属性4.函数属性和方法 在 ECMAScript 中,...

  • this的典型场景

    this: 函数执行时才会创建的内部对象,代表持有当前函数的对象. 1.对象内部属性值为函数,当该函数执行时,th...

  • 第2章 函数

    函数也是对象,使对象不同于其它对象的决定性特点是函数存在一个被称为 [[Call]] 的内部属性。内部属性无法通过...

  • JavaScript 构造函数私有、公有、静态、特权方法

    3. 构造函数的私有、公有、静态、特权方法 私有属性和方法创建:在构造函数内部创建的变量是私有属性,创建的函数是私...

网友评论

      本文标题:函数内部属性

      本文链接:https://www.haomeiwen.com/subject/qfrftqtx.html