JavaScript学习(二)ECMAScript基础 三

 

JavaScript学习(二)ECMAScript基础

 

一、运算符

1Instanceof运算符

 

在使用typeof运算符时采用引用类型的存储值会出现一个问题,就是无论该存储值是什么类型都返回Object。所以ECMAScript引入java种的另一个运算符instanceofInstanceof的作用是与typeof一致的,不过instanceof要求开发者明确存储值的类型。

var strObject=new String(abcd)

alertstrObject instanceof String 返回的结果是true

 

2delete运算符

 

Delete运算符用于删除已经定义的对象的方法和属性,例如

var obj=new Object()

obj.colon=blue”;

delete obj.colon

但是delete运算符不能用来删除没有定义的对象的属性和方法。

 

3void运算符

 

Void运算符返回的都是undefined值。这是为了避免返回不应返回的值。例如从HTML<a>元素返回JavaScript函数时。要正确做到这一点,翻书不能有返回值,否则浏览器清空页面,输出函数的返回值。

<a href=”javascript:window.open(‘about:blank’)”>click me<a>

如果把上面代码写到HTML中,点击链接浏览器将清空页面输出[Object],要避免这种结果,就要将上面语句改为:

         <a href=”javascript:void window.open(‘about:blank’)”>click me<a>

 

         4 前增/前减运算符

前增元算就是在原有值的基础之上加1,用++表示。前减运算符就是在原来基础上减去1,用表示。

 

++num 相当于num=num+1

 

         5后增/后减运算符

后增元算就是在原有值的基础之上加1,用++表示。后减运算符就是在原来基础上减去1

 

看到这你是不是很疑惑,为什么前增和后增,前减和后减好像一样啊。别急。前增/减是在计算表达式之前加1或减1,后增/减是在计算表达式之后加1或减1

 

num=10;

alert(++num)      输出为11

alertnum++   输出为11 

alertnum     输出为12

看出区别没?

        

         举个通俗的例子就是,你违法了,被县太爷抓去,县太爷可以先打你板子,再审你,还可以先审你,看你犯什么法,再打你。反正打你是一定的,只是顺序不同罢了。先打板子就相当于前增和前减,后打板子就相当于后增和后减。

        

1、 一元加和一元减运算符

一元加和一元减运算符其实就是正号和负号的作用。

一元加对数字没有作用,只是会对字符串产生作用,将字符串转换成数字,跟parseInt()作用是相似的,为什么说是相似而不是相同呢,因为一元加运算符只有对0X(十六进制)才转换成十进制,对0开始的字符串不能转换成十进制的。

如:+0XB 转换成11    010则转换成10

一元减运算符就是求负。将字符串转换成数字后再求负。

posted @ 2008-10-31 14:36  sunlight119  阅读(230)  评论(0)    收藏  举报