您的位置:首页 > Web前端 > JavaScript

javascript 基础 相等操作符

2012-06-18 15:45 459 查看
确定两个变量是否相等在编程中极为重要,使用异常的多。

基础认识

ECMAScript提供两组操作符:

相等和不相等——先转换再比较

全等和不全等——仅比较而不转换

相等和不相等

在不同数据类型时,遵循以下基本原则。

如果有个一是布尔值,则先将其转换为数字——false转换为0,true转换为1

如果一个是字符串,另一个是数值,则将字符串转换为数字在比较

如果有一个操作数是对象,另一个不是则调用对象的valueOf()方法,用得到的原始值进行比较。

alert("1" == 1); // true 数字和字符串比较
alert(true == 1); // true 布尔类型和数字比较
alert(NaN == NaN); // false
alert(null == undefined); // true undefined是派生自null出来的
function Product(name,price){
this.name = name;
this.price = price;
}
Product.prototype.valueOf = function(){
return this.price;
}
Product.prototype.toString = function(){
return this.name;
}
var banana = new Product("banana",2.1);
var carrot = new Product("carrot",1.5);
alert(banana == 2.1); // true 调用了valueOf()方法,返回价格

alert(banana > carrot); // true 调用了valueOf()方法,返回价格比较

//


全等和不全等

除了在比较值钱不转换操作数之外,全等和不全等与相等和不相等没有什么区别

alert(ture === 1) // false 数据类型不同
alert("5" === 5) // false 数据类型不同

//接着上面创建的对象
alert(alert(banana === 2.1)) //false 不进行数据类型转化,不会调用对象的valueOf方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: