Skip to content

Latest commit

 

History

History
42 lines (34 loc) · 2.21 KB

File metadata and controls

42 lines (34 loc) · 2.21 KB

03-JavaScript

###JavaScript表达式 ###JavaScript运算符 1、'===' 严格相等运算符(恒等运算符) 2、'!=' 对应 == 3、'!=='对应 === 对于对象的比较而言,是引用的比较,不是值的比较,对象和其本身是相等的,但和其他任何对象都是不相等,哪怕两个不同的对象具有相同数量的属性,相同的属性名和值,它们依然不相等。 对于具有相同含义且显示的字符也一样,但是其编码格式不同,=== 或 == 也不相同 字符串: 由16位整数值组成的序列

对象创建表达式如果不传入任何参数给构造函数,可以省略圆括号

  • "+"运算符:优先考虑字符串连接,如果其中一个操作数是字符串或者转化为字符串的对象,另一个操作数将会转化为字符串,进行字符串的连接操作,如果两个都不是类字符串,那么进行算数加法运算。

  • 位运算符:

    • 按位或(|) ,至少有一个操作数相应位位1,或者两个操作数相应位都是1,结果该位为1
    • 按位异或(^),两个操作数中有一个为1,不能同时为1,结果该位为1
    • 按位非(~),
    • 左移(<<)
    • 带符号右移(>>)
    • 无符号右移(>>>)
  • 比较运算符:只有数字和字符串才能真正执行比较操作。其他类型只能进行类型转换。具体转换规则:

    • 对象类型:转换为原始值(先使用valueof,否则进行.toString)。
    • 转换为原始值,如果至少有一个操作数不是字符串,两个操作数都将转换为数字记进行比较,如果其中有一个操作数是(或转换后)NaN,则比较结果总是false。
    • 字符串比较是区分大小写,所有大写的ASCII字母都小于小写的ASCII字母。
    • 相比加号运算符,比较运算符更偏爱转化为数字比较。只有在两个操作数都是字符串时,才会进行字符串的比较。
  • in运算符:

        var point = {x:1, y:1};
        "x" in point  true
    
  • instanceof运算符: 左侧对象是右侧类的实例,则表达式为true,否则false。

        var d = new Date();
        d instanceof Date; true
    

    理解: prototype(原型链)是javascript的继承机制。