什么价值并不严格等于自己&在JavaScript中的NaN

时间:2014-11-28 06:35:46

标签: javascript nan

我需要变量的值,以便在代码中得到警告“是”。

var a;

// set the value of a here ...
a=?

// don't edit the code below:
if (a === a) { 
    alert('No!'); 
} else {
    if (isNaN(a)) {
        alert('Not again!');
    }
    else { 
        alert('Yes');
    }
}

什么是?

2 个答案:

答案 0 :(得分:2)

请考虑以下事项:

n = 0;
Object.defineProperty(window, 'a', { get: function() { return n++; } });

> a === a
< false

答案 1 :(得分:0)

首先,感谢@ skbhardwaj.india提出问题并感谢@torazaburo回答这个问题。

受@ torazaburo的回答启发,我希望独立于外部/全局变量,因此使用闭包。

  

Object.defineProperty(window,'a',{get:(function(p){return   function(){return p ++; }})(0)});