关于 JS 中的===符号........

在网上看到一段代码,是去重复的,但其中 的 === 不知道是什么意思,请大仙解答,代码如下,另外如果对代码进行详细解释更好。本人也会追分

原题目是要求删除某数组内重复元素,并用这些元素构成一新数组,并且新数组同样无重复

Array.prototype.noRepeat=function(){
for(var i=0, al=this.length; i<al-1; i++){
for(var j=i+1; j<al; j++){
if(this[i]===this[j]){
this.splice(j,1);
j--;
al--;
}
}
}
return this;
}
xep0825举的例子很好简单明了,谢谢先!

但为什么

var A = "abc";
var B = new String("abc");
alert(A===B);//FALSE

会FALSE呢,同样是String.......难道因为指向不同的内存地址就不一样了吗?这个也不是和类型有关啊.......
还有例子中为什么一定要用"==="呢?普通的"=="不可以吗?请指教!

== 会自动的进行类型转换然后比较,===不会这样。
在JS中,字符串可分为字符串直接量和字符串对象,"abc"属于基本类型, new String("abc")属于对象。
A与B的类型不同,所以是FALSE

在比较两个对象相等的时候,要看你的比较条件是什么,如果两个变量指向同一个对象才算相等,那么就用===, 如果只比较他们的值相等,那么用==
"abc" === new String("abc") 比较的是内存地址
"abc" == new String("abc") 比较的是字符串的内容,后者自动转换为字符串直接量与前者比较
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-27
=是赋值;==是相等;===是你说的绝对相等。
===不但要求值一样,类型也要一样。

<script>
var A = "abc";
var B = new String("abc");
alert(A==B);//true
alert(A===B);//false,类型不同
</script>
第2个回答  2009-04-27
=== 这个是高级比较,我也只在js中看到,其它语言里倒是没发现过。
见参考资料

参考资料:http://zhidao.baidu.com/question/64429551.html

第3个回答  2009-04-27
===语法错误.. if比较中. 只能用==...
第4个回答  2009-04-27
不明白,但是个人觉得会不会是==写多了一个=?
相似回答
大家正在搜