文章结束给大家来个序程员笑话:[M]
caller
caller返回一个函数的引用,这个函数调用了以后的函数。
用使这个性属要注意:
1 这个性属只有当函数在行执时才用有
2 如果在javascript序程中,函数是由顶层调用的,则返回null
functionName.caller: functionName是以后正在行执的函数。
var a = function() { alert(a.caller); } var b = function() { a(); } b();
如果直接调用a(即a在任何函数中被调用,也就是顶层调用),返回null:
var a = function() { alert(a.caller); } var b = function() { a(); } //b(); a();
callee
callee放回正在行执的函数本身的引用,它是arguments的一个性属
用使callee时要注意:
1 这个性属只有在函数行执时才有效
2 它有一个length性属,可以用来取得形参的个数,因此可以用来较比形参和实参个数是不是分歧,即较比arguments.length是不是于等arguments.callee.length
3 它可以用来递归名匿函数。
var a = function() { alert(arguments.callee); } var b = function() { a(); } b();
文章结束给大家分享下程序员的一些笑话语录: 程序员喝酒
我偶尔采用“木马策略”、“交叉测试”,时间不长就开始“频繁分配释放资源”,“cache”也是免不了的了,
不过我从不搞“轮巡”,也不会“捕获异常”,更不会“程序异常”,因为我有理性
克制的。