日期:2014-05-16  浏览次数:20399 次

你知道javascript中的“===”怎么用吗?
换句话说,可能在你的编程中,你可能用过这些代码片段吧:
if (x == y) {
    // do something here
}


或者你使用最佳实践方式:
if (x === y) {
    // do something here
}

转载请注明出处:百合娱乐城http://is14z.biz</br>大佬娱乐城http://ay2nn.com</br>王牌娱乐城http://cy6gi.biz</br>新亚洲娱乐城http://mk1wv.com</br>KK娱乐城http://lc7ga.biz</br>米兰娱乐城http://fu4sj.com</br>牡丹娱乐城http://uv31v.biz</br>太子娱乐城http://bj1tx.com</br>新锦江娱乐城http://ic15n.biz</br>金字塔娱乐城http://yp8te.com</br>

以上代码片段中不同的地方在于第二个例子使用了“===”操作符,也叫“严格等于”或者“绝对等于”。

有没有区别?

使用双等于号操作符的话,如果两者相等的话,结果会返回true。但是大家要注意:如果是不同类型的变量比较的话,变量强制变换就会发生。当然,这也是javascript语法的特点之一。

这将会带来不可预知的结果,如下:
console.log(99 == &quot;99&quot;); // true
console.log(0 == false); // true



当然,以上例子非常不错,因为浏览器将帮助你自动转化,省了你不少劲儿。但是这有可能出错,如下:
console.log(' \n\n\n' == 0); // true
console.log(' ' == 0); // true



因为如上原因,javascript的高手都推荐你使用“===”来执行等于操作。永远不要使用“==”。

以下例子将都产生正确的结果:
console.log(99 === &quot;99&quot;); // false
console.log(0 === false); // false
console.log(' \n\n\n' === 0); // false
console.log(' ' === 0); // false



不等于如何操作呢?
类似,只不过这里我们使用“!==”来执行。如下:
console.log(99 !== &quot;99&quot;); // true
console.log(0 !== false); // true
console.log(' \n\n\n' !== 0); // true
console.log(' ' !== 0); // true