手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >浅谈javascript 函数内部属性
浅谈javascript 函数内部属性
摘要:在函数内部有两个特殊的属性:arguments和this。arguments是一个类数组对象,包含传入的所有参数,但是这个对象还有一个名叫c...

在函数内部有两个特殊的属性: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的call()、apply()、bind()的用法

浅谈document.write()输出样式

浅谈Javascript线程及定时机制

JavaScript中关联原型链属性特性

javascript制作的滑动图片菜单

javascript实现链接单选效果

javascript的事件描述

Javascript的IE和Firefox兼容性汇编

javaScript中with函数用法实例分析

javascript元素动态创建实现方法

精品推荐
分类导航