2

これは基本的なことですが、皆さんと共有する価値があると思いました. コード圧縮ユーティリティが、条件が次のように記述されているコード フラグメントを変更したことを確認しました。

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

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

それはどのように役立ちますか?

4

2 に答える 2

6

2つのうちの1つを逃した場合、代入を回避してエラーを取得するためです=

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
}

したがって、これ==は、2 つのオペランドの一方が他方の型にキャストされることを意味します。

'foo' == aと の間に見える唯一の違いa == 'foo'は、ある場合aは string にキャストされ、他の場合'foo'は wathever にキャストされるということですa

于 2013-02-06T21:10:55.740 に答える