Object类型
原始类型与Object类型有着根本区别
1.原始值是不可更改的。原始值的比较是值的比较,只有它们的值相等时才相等
2.对象是可变的,值是可修改的: var obj={x:1};//定义一个对象 obj.x=2;//对象中属性x的值更改为2 obj.y=3;//增加新属性y。
3.两个对象的比较并非值的比较,即使同样的属性和值 ,也是不相等。索引完全相等的两个数组也不等: var obj={x:1},obj1={x:1}; //具有相同属性的两个对象 console.log(obj===obj1); //false,两个单独的对象永不相等 var a=[ ],b=[ ]; //两个单独的空数组 console.log(a===b); //false,两个单独的数组永不相等。
对象的比较
通常将对象称为引用类型,对象的比较均是引用的比较,当且仅当它们引用同一个对象时,才相等。
运算符
赋值运算符
=
赋值运算符并不是等于 如果我想把5这个值赋值给变量a 则:var a=5;
算术运算符
求模/取余 %
递增和递减
++表示的是变量的值加1 ++i表示的是,先加1再执行 而i++表示的是先执行再加1
+运算符
用于把文本值或字符串变量连接起来。
如需把两个或多个字符串变量连接起来,请使用 + 运算符。
+运算符
对字符串和数字进行拼接
+运算符
+运算符的隐式转换规则:
字符串与数字进行+拼接时,数字会隐式的转换成字符串 字符串与对象进行+拼接时,对象会隐式的转换成字符串 数字与null进行+拼接时,null会转换成数字类型 布尔值之间进行+拼接时,布尔值会转换成数字类型 null和undefined和数字进行拼接时,会转换成数字类型,null为0,undefined为NaN 字符串与数字进行-号运算时,字符串会隐式的转换成数字类型
关系运算符(比较运算符)
关系操作符在逻辑语句中使用,以测定变量或值是否相等。
关系运算符(比较运算符)
纯数字之间比较 console.log(1<3);//true 数字字符串比较,转换成ASCII码比较 console.log("1"<"3");//true console.log("123"<"123");//false console.log(“123"<"1234");//true 纯字符串比较,先转成ASCII码 console.log(“j"<"k");//true console.log("abc"<"aad");//false,多纯字母比较,会依次比较ASCII码
逻辑运算符
逻辑与的运算规则
1.两边条件都为true时,结果才为true; 2.如果有一个为false,结果就为false; 3.当第一个条件为false时,就不再判断后面的条件 注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。
字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。