当前位置: 首页 > 编程笔记 >

浅谈javascript 函数内部属性

范嘉
2023-03-14
本文向大家介绍浅谈javascript 函数内部属性,包括了浅谈javascript 函数内部属性的使用技巧和注意事项,需要的朋友参考一下

        在函数内部有两个特殊的属性:arguments 和 this。arguments是一个类数组对象,包含传入的所有参数
        但是这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。

        请看经典的阶乘函数例子:


        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);

            }

        }

        使用第一种方式是没有错的,但是耦合性太高,不太好,函数名改变之后,内部的函数名也要改变
        第二种方式就是低耦合的做法,无论函数名怎么改变都不会影响函数执行。

        this引用的是函数据以执行的环境对象,或者也可以说是this值


        window.color = "red";

        var o = {color: "blue"};

        function sayColor() {

            alert(this.color);

        }

        sayColor();//red

        o.sayColor = sayColor;

        o.sayColor();//blue

        caller属性,保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为Null


 function outer() {

            innter();

        }

        function innter(){

            //alert(innter.caller);//耦合性太高

            alert(arguments.callee.caller);

        }

        outer();

以上就是javascript函数内部属性的全部内容了,希望小伙伴们能够喜欢

 类似资料:
  • 本文向大家介绍浅谈javascript 函数属性和方法,包括了浅谈javascript 函数属性和方法的使用技巧和注意事项,需要的朋友参考一下         每个函数都包含两个属性:length 和 prototype         length:当前函数希望接受的命名参数的个数         prototype:是保存他们所有实力方法的真正所在         每个函数都包含两个非继承而来

  • 本文向大家介绍浅谈JavaScript函数节流,包括了浅谈JavaScript函数节流的使用技巧和注意事项,需要的朋友参考一下 浏览器中某些计算和处理要比其他的昂贵的多。例如,DOM操作比起非DOM交互需要更多的内存和CPU时间。连续尝试进行过多的DOM相关操作可能会导致 浏览器挂起,有时候甚至会崩溃。尤其在IE中使用onresize事件处理程序的时候容易发生,当调整浏览器大小的时候,该事件连续触

  • 本文向大家介绍浅谈javascript函数式编程,包括了浅谈javascript函数式编程的使用技巧和注意事项,需要的朋友参考一下 函数式编程,属于编程范式的一种 1 函数是第一公民,可以返回值,也可以作为其他函数的参数 2 接近自然语言的写法   晓池吃完饭然后就去洗澡 可以表现为eat().bathe()  3 函数式编程的特性   匿名函数,即没有名字的函数,在函数式编程中很常见,有时候我们

  • 本文向大家介绍浅谈JavaScript function函数种类,包括了浅谈JavaScript function函数种类的使用技巧和注意事项,需要的朋友参考一下 本篇主要介绍普通函数、匿名函数、闭包函数 1.普通函数介绍 1.1 示例 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名、不同参数签名的函数,后面的函数会覆盖前面的函数。调用时,只会调用后面的函数。 1.3 arg

  • 本文向大家介绍浅谈JavaScript 数据属性和访问器属性,包括了浅谈JavaScript 数据属性和访问器属性的使用技巧和注意事项,需要的朋友参考一下 在JavaScript中对象被定义为"无序属性的集合,其属性可以包含基本值、对象或函数。"通俗点讲,我们可以把对象理解为一组一组的名值对,其中值可以是数据或函数。 创建自定义对象通常有两种方法,第一种就是创建一个Object的实例,然后再为其添

  • 在 JavaScript 中,作用域、上下文、闭包、函数等算是精华中的精华了。对于初级 JSer 来说,是进阶必备。对于前端攻城师来说,只有静下心来,理解了这些精华,才能写出优雅的代码。