2

这是一个基本的东西,但我发现它值得与大家分享。我观察到一个代码压缩实用程序改变了一个代码片段,其中一个条件被写成,

if(document.getElementById('foo').value == '6')

if('6' == document.getElementById('foo').value)

这有什么帮助?

4

2 回答 2

6

这是为了避免分配并在您错过两者之一时出错=

if('6' = document.getElementById('foo'))

不会通过(分配给文字),但是

if(document.getElementById('foo') = '6')

会默默地失败。

于 2013-02-06T21:06:31.927 回答
0

==in javascript 不是“强类型”,与===.

举个例子 :

if (1 == '1')
{
    //Will pass here.
}

if (1 === '1')
{
   //Will not pass here
}

所以这==意味着两个操作数之一被转换为另一个的类型。

'foo' == a我可以看到和之间的唯一区别a == 'foo'是,在一种情况下a被转换为字符串,而在另一种情况下'foo'被转换为 wathever 的类型是a.

于 2013-02-06T21:10:55.740 回答