美文网首页Web前端之路Web 前端开发
菜鸟学习javascript27 关系操作符(3)

菜鸟学习javascript27 关系操作符(3)

作者: 熊孩子CEO | 来源:发表于2017-02-04 21:23 被阅读42次

用于进行比较的运算符称为关系运算符:小于(<),大于(<),小于等于(<=),大于等于(>=),相等(==),不等(!=),全等【恒等】(===),不全等【不恒等】(!==)。

var  box = 3 < 2 ;                 // 关系运算符大多返回一个布尔值

var  box = “3” >22;              // 字符串会被转化成数值,再比较

var  box = “3” >“22”;            // 如果两个都是字符串,会对第一个字符进行比较,3>2

var box  = 对象  ;                 //false;

var box = 2 > {

    toString:funtion(){

           return 1;

     }

}

var   box  = "a">"b";              //97 >98  字符编码进行比较

var  box  = "a">"B";              //97 >66  字符编码进行比较

总结:

1.俩个操作数都是数值,则数值比较

2.两个操作数都是字符串,则比较两个字符串对应的字符编码值

3.如果一个操作数是数值,则将另外一个操作数转化为数值,然后进行数值比较

4.如果一个操作数是布尔值,则先将其转化成数值,然后再执行比较

5如果一个操作数是对象,则先调用valueof()方法或toString()方法,再用结果比较

相等和不相等------先转换再比较;全等和不全等------仅比较而不转换

var box = 2 == 1;                     //true 

var box = “2” == 2;                  //true       “2”会转成数值2

var box = false==0;                //true        false转成数值就是0;

var  box =“a” == “A”;              //false       转换后的编码不一样

var  box = 2 =={}        ;              // false 执行toString()或 ValueOf()会改变

var box = 2 ==NaN;               //false , 只要有NaN,都是false

var box = { } == {}                     // false 比较的是他们的地址,每个新建对象的引用地址都不同

var age = { };

var  height = age;

var box = age ==height;      // true,应用地址一样,所以相等

var box = “2”===2;              // false   值和类型都必须相等

var  box = 2!==2;             // false  值和类型都相等了

总结

1.如果一个操作数是布尔值,则先将其转换成数值,true是1,false是0

2.如果一个操作数是字符串,则将其转成数值再比较

3.如果一个操作数的对象,则先调用valueOf()或toString()方法再返回值比较

4.不转换的情况下,null等于undefined

5.如果有一个操作符是NaN,则相等操作符返回false,不相等操作符返回true;NaN不等于NaN

6.如果两个操作数都是对象,则比较透明是否是同一个对象,如果都指向同一个对象,怎返回true,否则返回false

7.在全等和不全等的比较中,值和类型都相等,才返回true,否则返回false。换句话,在操作数不转换的情况下相等才是全等。


ps:这些东西我输入过信息,至少目前的理解的,当我哪天忘掉的时候,还可以跑到这里来寻找答案,分享给大家,也是在积累自己的财富,毕竟这是我自己实践过的内容,加油,对于接下来新一轮的面试找工作,我莫须有的自信

相关文章

  • 菜鸟学习javascript27 关系操作符(3)

    用于进行比较的运算符称为关系运算符:小于(<),大于(<),小于等于(<=),大于等于(>=),相等(==),不等...

  • JavaScript 2

    操作符 1.算数操作符 + - / * % 2.赋值操作符 += -= *= /= 3.关系操作符 > < =...

  • 逻辑运算符

    逻辑运算符: ! && || 优先级关系:! && ||布尔操作符(逻辑操作符)布尔操作符有3种: ...

  • js运算符与表达式

    操作符 一元操作符:++,-- 算术操作符:+,-,*,/,% 关系操作符:>,<,>=,<= 相等操作符:==,...

  • 操作符和表达式

    操作符 一元操作符(++,--) 算术操作符(+,-,*,/,%) 关系操作符(>,<,>=,<=,) 相等操作符...

  • HQL之函数使用

    在HQL中,我们可以使用关系操作符、数学操作符、逻辑操作符、复合类型操作符以及复合类型构建器。其中,关系操作符、数...

  • java中==和equals和hashCode的区别

    1. == 在用关系操作符 == 比较的是值本身, int n=3; int m=3; S...

  • JavaScript高程读书笔记(2)

    五、操作符 算数操作符、位操作符、关系操作符、 相等操作符 一元操作符++和--:注意a+++,- 位操作符按位非...

  • python数据类型之 字符串、列表、元组

    一、序列list[] 1. 序列类型操作符 成员关系操作符 in 、 not in满足成员关系返回True,...

  • 第三章 JavaScript基本概念(四)

    4. 操作符 4.6 关系操作符   关系操作符(<,>,<=,>=)用于对两个值进行比较,比较的规则与我们数学课...

网友评论

    本文标题:菜鸟学习javascript27 关系操作符(3)

    本文链接:https://www.haomeiwen.com/subject/xklsittx.html