源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈javascript 函数内部属性

  • 时间:2020-01-12 18:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈javascript 函数内部属性
        在函数内部有两个特殊的属性:arguments 和 this。arguments是一个类数组对象,包含传入的所有参数,         但是这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。         请看经典的阶乘函数例子:
[u]复制代码[/u] 代码如下:
        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值
[u]复制代码[/u] 代码如下:
        window.color = "red";         var o = {color: "blue"};         function sayColor() {             alert(this.color);         }         sayColor();//red         o.sayColor = sayColor;         o.sayColor();//blue
        caller属性,保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为Null
[u]复制代码[/u] 代码如下:
 function outer() {             innter();         }         function innter(){             //alert(innter.caller);//耦合性太高             alert(arguments.callee.caller);         }         outer();
以上就是javascript函数内部属性的全部内容了,希望小伙伴们能够喜欢
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部