[英]javascript: how to refer to an anonymous function within the function itself?
如果在“use strict”中不允許arguments.callee,我們就做不到
var f = function g() {
//g
}
因為在IE中不起作用(或者說“奇怪”) http://kangax.github.com/nfe/#jscript-bugs ,那么我們還有哪些其他選項可以引用函數中的匿名函數本身?
不要使用命名函數表達式。 只需以正常方式聲明並初始化它。
function f() {
f();
}
ES5嚴格的唯一可行替代方案是使用您問題中的代碼,並處理IE糟糕的NFE實現。 但是:你真的期望一個瀏覽器讓NFE如此可怕的錯誤(咳咳,IE)很快就會實施"use strict"
嗎?
這是一個相當復雜的方法,但它有效:
var f = function() {
function f() {
if (confirm('Keep going?')) {
this.apply(this);
}
}
f.apply(f);
}
f();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.