js运算符

=== 全等 判断左右两边对象或值是否类型相同且值相等

var a ="123";

var b ="123";

var oa= new String("123");

var ob= new String("123");

var oc = oa;

a===oa //false

oa===ob //false

oa===oc //true

a=b        //true

 

==判断操作对象两边或者值是否相等

两边转化成数值类型 并进行比较

"99"==99 //true

new String("99") ==99; //true

true = 1 //true

例外规则:

null == undefined (true)

null/undefined进行==运算时不进行隐式类型转化。

0==null //false

null==false //false

"undefined"== undefined //false

 

逻辑运算符!

!x      表示x表达式运行结果转化成boolean值后取反。

!!x   表示去x表达式运行结果的Boolean值

eg:  var  obj ={};

        var a =!obj;  //a=false

        var a =!!obj  //a=true  

 

逻辑运算符&&

逻辑||运算符

 

思考:1-0&&2 (先计算1-0结果2, 还是先计算0&&2结果1)  //2 先运行1-0

+、-、*、/、%优先级高于 && ,

*、/、% 优先级高于 - ,

&&运算符 高于 条件运算符 ? :

算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

 

逗号运算符 :var val=(1,2,3);  //val=3 取最右边的

delete运算符 :

                  var  obj = {x:1};

                  obj.x;  //1

                  delete obj.x;

                  obj.x;   //undefined 

 

从ie9之后 有  var obj={};

                  Object.defineProperty(obj,'x',{

                   configurable : false, 

                   value:1

                    });

                    delete obj.x //false

                    obj.x;  //1

in运算符:  判断对象是否有这样的key

               window.x=1;

               'x' in window; //true

 

instanceof   type

new运算符   对象.hasOwnProperty('属性')  可以判断这个属性是对象上的还是这个对象的原型链上的。

                 对象._proto_.hasOwnProperty('属性'); 拿到对象原型上的属性,而不是对象本身的属性。

 

this运算符

void 

 

posted @ 2015-12-24 20:21  小白demon  阅读(139)  评论(0编辑  收藏  举报