您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月10日 12:23

原创 JavaScript Function.caller 属性详解

3102 次浏览 读完需要≈ 3 分钟

内容目录

caller属性用于返回当前函数的调用者,也就是调用当前函数的函数

该属性属于Function对象,所有主流浏览器均支持该属性

语法

functionObject.caller

返回值

caller属性的值为Function类型,返回调用当前函数的函数。如果当前函数不是在函数内被调用,而是在JavaScript顶层作用域被调用,则返回null

caller属性只有当函数正在执行时才被定义。

示例&说明

function test(){
	if(test.caller == null){
		alert("JavaScript顶层作用域调用了test()函数");
	}else{
		alert( test.caller + "函数调用了test()函数");
	}
};
test(); // JavaScript顶层作用域调用了test()函数


function callTest(){
	test();
}
callTest(); // function callTest(){ test(); }函数调用了test()函数



function callTest2(){
	// setTimeout()或setInterval()中定时执行的函数也属于顶层作用域调用
    setTimeout("test()", 5000); // JavaScript顶层作用域调用了test()函数
}
callTest2();

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单