gpt4 book ai didi

javascript - 此 instanceof arguments.callee 的严格模式替代方案

转载 作者:可可西里 更新时间:2023-11-01 01:53:53 30 4
gpt4 key购买 nike

有一个老技巧 ( that I learned on SO ) 可以捕捉到将构造函数作为函数调用,即忘记 new 关键字。以下内容或类似内容位于顶部的每个构造函数中。

if (!(this instanceof arguments.callee)) {
throw Error("Constructor called as a function");
}

当您需要 "use strict"; 时有哪些替代方案?

能否保留其通用性?或者我们是否必须使用构造函数的名称来代替 arguments.callee

最佳答案

arguments.callee 本身已被弃用,取而代之的是命名函数表达式。虽然我不一定同意这个举动,但事情就是这样发展的。因此,用函数名替换arguments.callee是严格模式下的唯一方式,也是非严格模式下的首选方式。

关于javascript - 此 instanceof arguments.callee 的严格模式替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480147/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com