大于和小于知识点;


⼩于( < )、⼤于( > )、⼩于等于( <= )和⼤于等于( >= )、相等( == )、不等( != )全等(恒等) (=== )、全不等(不恒等)( !== ) 八个关系操作符⽤于对两个值进⾏比较,比较的规则与我们在数学 课上所学的⼀样。这⼏个操作符都返回⼀个布尔值(true 、 false )。与 ECMAScript 中的其他操作符⼀ 样,当关系操作符的操作数使⽤了非数值时,也要进⾏数据转换或完成某些奇怪的操作。以下就是相应 的规则。



1. 如果⼀个操作数是数值,则将另⼀个操作数转换为⼀个数值,然后执⾏数值比较。



2. 如果⼀个操作数是对象,则调⽤这个对象的 valueOf() ⽅法,⽤得到的结果按照前⾯的规则执⾏比较。



如果对象没有 valueOf() ⽅法,则调⽤ toString() ⽅法,并⽤得到的结果根据前⾯的规则执⾏比较。



3. 如果⼀个操作数是布尔值,则先将其转换为数值,然后再执⾏比较。



var result = 5>3; 
  //true var result = 3>5; 
  //false var result = 5<3; 
  //false var result = 3<5; 
  //true var result = '3' < 5; 
 //true; var result = 'a' > 'b'; 
 //false 'a' = 97 'b' = 98 var result = 1 > { toString:function(){ return 'a'; } } 
 
  
 //如果有toString()或valueOf()则返回 1 > 返回大于的值 document.write(result)



2.如果两个操作数都是对象,则比较它们是不是同⼀个对象。如果两个操作数都指向同⼀个对象, 则相等操作符返回true;否则,返回false。

var result = 2 == 2 ;
var result = '2' == 2 ;
var result = true == '1' //true = 1; false = 0
var result = false == 0 //true = 1; false = 0
var result = 2 == {
toString : function (){
return '2' ;
}
} // 调⽤对象的 valueOf() ⽅法或 toString()
var result = null == undefined;
var result = 1 == NaN ; //false
var result = NaN == NaN ; //false
var result = {} == {}
var a = {
toString : function (){
return '2' ;
}
}
var b = {
toString : function (){
return '2' ;
}
}
var result = a == b; //false 地址不⼀样 这⾥的地址是什么?
var age = {};
var height = age;
var result = age == height // //true 地址相同了 这⾥的地址是什么?
document. write (result)

由于相等和不相等操作符存在类型转换问题,⽽为了保持代码中数据类型的完整性,我们强烈推荐使用  全等和不全等操作符。

3.三元条件运算符

三元条件操作符其实就是我们后⾯要学到的 if 语句的简写形式


var result = 5 > 4 ? " 对 " : " 错 " ;
console. log (result)
// 相当于 if 语句
var result = '' ; // 声明并且初始化变量
if ( 5 > 4 ){
result = ' 对 '
} else {
result = ' 错 '
}
console. log (result)


通过为每个case 后⾯都添加⼀个break 语句,就可以避免同时执⾏多个case 代码的情况。假如确 实需要混合⼏种情形,不要忘了在代码中添加注释,说明你是有意省略了break 关键字

var result = 2 ;
switch (result){
/* 合并两种情形 */
case 1 :
case 2 :
document. write ( ' 学习英语 ' )
break ;
case 3 :
case 6 :
document. write ( ' 学习数学 ' )
break ;
case 4 :
case 5 :
document. write ( ' 物理 ' )
break ;
case 7 :
document. write ( ' 休息 ' )
break ;
default :
document. write ( ' 不是周⼀到周⽇,没有这个⽇⼦ ' )
}


3.with 语句


with 语句的作⽤是将代码的作⽤域设置到⼀个特定的对象中


由于⼤量使⽤ with 语句会导致性能下降,同时也会给调试代码造成困难,因此在开发⼤型应⽤程序时


var obj = new Object ();
obj.name = ' 朱鹏富 ' ;
obj.age = 18 ;
obj.height = 170 ;
// 常规操作
var n = obj.name;
var a = obj.age;
var h = obj.height;
// 可以把上⾯的代码改成这样
with (obj){
var n = name;
var a = age;
var h = height;
}
alert (n)