相关疑难解决方法(0)

+0和-0是否相同?

阅读ECMAScript 5.1规范,+0-0进行区分.

为什么然后+0 === -0评估true

javascript

163
推荐指数
5
解决办法
4万
查看次数

区分+0和-0

事实证明,+0 === -0计算结果为true,尽管+0-0不同的实体.那么,你如何区分+0-0

有一个黑客:

if (1 / myZero > 0) {
   // myZero is +0
} else {
   // myZero is -0
}
Run Code Online (Sandbox Code Playgroud)

我可以做得更好吗?

javascript

36
推荐指数
3
解决办法
2957
查看次数

区分当地评估与全球评估

请考虑两个代码片段(第一个打印"Local eval",第二个打印"Global eval"):

(function f() { 
    var x;
    try {
        eval("x");
        console.log('Local eval');
    }
    catch (e) {
        console.log('Global eval');
    }
}())
Run Code Online (Sandbox Code Playgroud)

var globalEval = eval;
(function f() { 
    var x;
    try {
        globalEval("x");
        console.log('Local eval');
    }
    catch (e) {
        console.log('Global eval');
    }
}())
Run Code Online (Sandbox Code Playgroud)

事实证明,即使globalEval === eval计算结果为true,globalEvaleval 不同的行为,因为他们有不同的名称.(如果精确写入,则eval只能是本地的eval.)

我怎样才能区分两个人的逃亡?有没有办法提取变量标签来推断行为?

javascript

6
推荐指数
1
解决办法
604
查看次数

标签 统计

javascript ×3