本篇内容主要讲解“javascript 的caller,callee,call,apply怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript 的caller,callee
本篇内容主要讲解“javascript 的caller,callee,call,apply怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript 的caller,callee,call,apply怎么使用”吧!
// caller demo {function callerDemo() {if (callerDemo.caller) {var a= callerDemo.caller.toString();alert(a);} else {alert("this is a top function");}}function handleCaller() {callerDemo();}
需要注意的是callee拥有length属性,这个在有的时候用于验证还是比较好的。
function calleeDemo() {alert(arguments.callee);}function calleeLengthDemo(arg1, arg2) {if (arguments.length==arguments.callee.length) {window.alert("验证形参和实参长度正确!");return;} else {alert("实参长度:" +arguments.length);alert("形参长度: " +arguments.callee.length);}}
// simple call demofunction simpleCallDemo(arg) {window.alert(arg);}function handleSPC(arg) {simpleCallDemo.call(this, arg);}// simple apply demofunction simpleApplyDemo(arg) {window.alert(arg);}function handleSPA(arg) {simpleApplyDemo.apply(this, arguments);}
// inheritfunction base() {this.member = "never-online";this.method = function() {window.alert(this.member);}}function extend() {base.call(this);window.alert(member);window.alert(this.method);}
// advanced apply demofunction adApplyDemo(x) {return ("this is never-online, BlueDestiny '" + x + "' demo");}function handleAdApplyDemo(obj, fname, before) { var oldFunc = obj[fname]; obj[fname] = function() { return oldFunc.apply(this, before(arguments)); };}function helloWordFunc(args) { args[0] = "hello " + args[0]; return args;}function applyBefore() {alert(adApplyDemo("world"));}function applyAfter() {handleAdApplyDemo(this, "adApplyDemo", hellowordFunc);alert(adApplyDemo("world")); // Hello world!}
--结束END--
本文标题: Javascript 的caller,callee,call,apply怎么使用
本文链接: https://www.lsjlt.com/news/232572.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0