码迷,mamicode.com
首页 > 编程语言 > 详细

《Javascript权威指南》表达式和运算符

时间:2015-03-21 15:24:57      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

如果表达式x中的一个变量自增1,这个变量在表达式z中使用,那么实际上是先计算出了x的值再计算z的值

a=1;

求 b=(a++)+a;

1)计算b

2)计算a++(假设为c)

3)计算a

4)计算c+a 5

)将c+a赋值给b

在a++的结果依然为1,即c为1,然后a立即增1,执行3)时a已经是2,因此b为3

 

+运算符

如果其中一个操作数是对象,则日期对象通过 toString() 方法执行转换,其他对象通过 valueOf() 方法转换(如果 valueOf()返回一个原始值)。由于多数对象不具备可用的 valueOf()方法,因此它们通过 toString()方法转换。 进行对象到原始值的转换后,如果其中一个操作数是字符串,另一个操作数也转换为字符串 否则,两个操作数都转换为数字(或NaN)

 

"1" + 2 = "12";

1 + {} = 1[object Object]; //对象转换为字符串

true + true = 2;

2 + null = 2;

2 + undefined = NaN; //undefined转换为NaN

 

in

左操作数是字符串或可用转换为字符串,右操作数是对象。如果右侧的对象拥有一个名为左操作数值的属性名,则返回true

 

instanceof

左操作数是对象,右操作数标识对象的类。如果左侧对象是右侧类的实例,则返回true。

typeof

x                            typeof(x)

undefined                    "undefined"

null                         "object"

true或false                  "boolean"

任意数字或NaN                "number"

任意字符串                   "string"

任意函数                     "function"

任意内置对象(非函数)       "object"

任意宿主对象                 编译器各自实现的字符串

 

delete

删除对象属性或数组元素

    var a = [1,2,3];

    delete a[1];

    alert(a.length)  //3  删除了元素并不改变数组长度

 

void

操作数照常计算,但忽略结果并返回undefined 最常用在客户端的URL——javascript:URL中,在URL中可以写带有副作用的表达式,void 让浏览器不必显示这个表达式的结果。

<a href="javascript:void window.open();"> 打开新窗口

《Javascript权威指南》表达式和运算符

标签:

原文地址:http://www.cnblogs.com/surahe/p/4355525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!