开发手册HTMLCSSJavaScript
HTML手册CSS手册JavaScript手册JavaScriptHTML DOMjQueryJSONDHTMLJavaScript相关jQuery 属性操作 - addClass() 方法jQuery 属性操作 - attr() 方法jQuery 属性操作 - hasClass() 方法jQuery 属性操作 - removeAttr() 方法jQuery 属性操作 - removeClass() 方法jQuery 属性操作 - toggleClass() 方法jQuery 属性操作 - val() 方法jQuery CSS 操作 - css() 方法jQuery CSS 操作 - height() 方法jQuery CSS 操作 - offset() 方法jQuery CSS 操作 - offsetParent() 方法jQuery CSS 操作 - position() 方法jQuery CSS 操作 - scrollLeft() 方法jQuery CSS 操作 - scrollTop() 方法jQuery CSS 操作 - width() 方法jQuery 遍历 - clearQueue() 方法jQuery 数据 - data() 方法jQuery 遍历 - dequeue() 方法jQuery 遍历 - hasData() 方法jQuery 数据 - jQuery.data() 方法jQuery 遍历 - jQuery.dequeue() 方法jQuery 遍历 - jQuery.queue() 方法jQuery 数据 - jQuery.removeData() 方法jQuery 遍历 - queue() 方法jQuery 数据 - removeData() 方法jQuery DOM 元素方法 - get() 方法jQuery DOM 元素方法 - index() 方法jQuery DOM 元素方法 - size() 方法jQuery DOM 元素方法 - toArray() 方法jQuery 效果 - animate() 方法jQuery 效果 - clearQueue() 方法jQuery 效果 - fadeIn() 方法jQuery 效果 - fadeOut() 方法jQuery 效果 - fadeTo() 方法jQuery 效果 - hide() 方法jQuery 效果 - show() 方法jQuery 效果 - slideDown() 方法jQuery 效果 - slideToggle() 方法jQuery 效果 - slideUp() 方法jQuery 效果 - stop() 方法jQuery 效果 - toggle() 方法jQuery 事件 - bind() 方法jQuery 事件 - blur() 方法jQuery 事件 - change() 方法jQuery 事件 - click() 方法jQuery 事件 - dblclick() 方法jQuery 事件 - delegate() 方法jQuery 事件 - die() 方法jQuery 事件 - error() 方法jQuery 事件 - focus() 方法jQuery 事件 - isDefaultPrevented() 方法jQuery 事件 - keydown() 方法jQuery 事件 - keypress() 方法jQuery 事件 - keyup() 方法jQuery 事件 - live() 方法jQuery 事件 - load() 方法jQuery 事件 - mousedown() 方法jQuery 事件 - mouseenter() 方法jQuery 事件 - mouseleave() 方法jQuery 事件 - mousemove() 方法jQuery 事件 - mouseout() 方法jQuery 事件 - mouseover() 方法jQuery 事件 - mouseup() 方法jQuery 事件 - one() 方法jQuery 事件 - pageX 属性jQuery 事件 - pageY 属性jQuery 事件 - preventDefault() 方法jQuery 事件 - ready() 方法jQuery 事件 - resize() 方法jQuery 事件 - result 属性jQuery 事件 - scroll() 方法jQuery 事件 - select() 方法jQuery 事件 - submit() 方法jQuery 事件 - target 属性jQuery 事件 - timeStamp 属性jQuery 事件 - toggle() 方法jQuery 事件 - trigger() 方法jQuery 事件 - triggerHandler() 方法jQuery 事件 - type 属性jQuery 事件 - unbind() 方法jQuery 事件 - undelegate() 方法jQuery 事件 - unload 属性jQuery 事件 - which 属性jQuery 效果jQuery HTML 操作jQuery 参考手册 - 队列控制jQuery 文档操作 - after() 方法jQuery 文档操作 - append() 方法jQuery 文档操作 - appendTo() 方法jQuery 文档操作 - before() 方法jQuery 文档操作 - clone() 方法jQuery 文档操作 - detach() 方法jQuery 文档操作 - empty() 方法jQuery 文档操作 - html() 方法jQuery 文档操作 - insertAfter() 方法jQuery 文档操作 - insertBefore() 方法jQuery 文档操作 - prependTo() 方法jQuery 文档操作 - prepend() 方法jQuery 文档操作 - remove() 方法jQuery 文档操作 - replaceAll() 方法jQuery 文档操作 - replaceWith() 方法jQuery 文档操作 - text() 方法jQuery 文档操作 - unwrap() 方法jQuery 文档操作 - wrap() 方法jQuery 文档操作 - wrapAll() 方法jQuery 文档操作 - wrapInner() 方法jQuery context 属性jQuery jquery 属性jQuery jQuery.fx.interval 属性jQuery jQuery.fx.off 属性jQuery jQuery.support 属性jQuery length 属性jQuery * 选择器jQuery :animated 选择器jQuery [attribute] 选择器jQuery [attribute$=value] 选择器jQuery [attribute=value] 选择器jQuery [attribute!=value] 选择器jQuery . 选择器jQuery :contains 选择器jQuery element 选择器jQuery :empty 选择器jQuery :eq() 选择器jQuery :even 选择器jQuery :first 选择器jQuery :gt 选择器jQuery :header 选择器jQuery # 选择器jQuery :input 选择器jQuery :button 选择器jQuery :checkbox 选择器jQuery :checked 选择器jQuery :disabled 选择器jQuery :enabled 选择器jQuery :file 选择器jQuery :image 选择器jQuery :password 选择器jQuery :radio 选择器jQuery :reset 选择器jQuery :selected 选择器jQuery :submit 选择器jQuery :text 选择器jQuery :last 选择器jQuery :lt 选择器jQuery :odd 选择器jQuery :visible 选择器jQuery 遍历 - add() 方法jQuery 遍历 - andSelf() 方法jQuery 遍历 - children() 方法jQuery 遍历 - closest() 方法jQuery 遍历 - contents() 方法jQuery 遍历 - each() 方法jQuery 遍历 - end() 方法jQuery 遍历 - eq() 方法jQuery 遍历 - filter() 方法jQuery 遍历 - find() 方法jQuery 遍历 - first() 方法jQuery 遍历 - has() 方法jQuery 遍历 - is() 方法jQuery 遍历 - last() 方法jQuery 遍历 - map() 方法jQuery 遍历 - next() 方法jQuery 遍历 - nextAll() 方法jQuery 遍历 - nextUntil() 方法jQuery 遍历 - not() 方法jQuery 遍历 - offsetParent() 方法jQuery 遍历 - parent() 方法jQuery 遍历 - parents() 方法jQuery 遍历 - parentsUntil() 方法jQuery 遍历 - prev() 方法jQuery 遍历 - prevAll() 方法jQuery 遍历 - prevUntil() 方法jQuery 遍历 - siblings() 方法jQuery 遍历 - slice() 方法jQuery Mobile 教程ECMAScript 函数概述ECMAScript arguments 对象ECMAScript 闭包(closure)ECMAScript Function 对象(类)JavaScript 的历史JavaScript 实现ECMAScript 关键字ECMAScript 定义类或对象ECMAScript 修改对象ECMAScript 面向对象技术ECMAScript 对象作用域ECMAScript 对象类型ECMAScript 对象应用ECMAScript 加性运算符ECMAScript 赋值运算符ECMAScript 位运算符ECMAScript Boolean 运算符ECMAScript 逗号运算符ECMAScript 条件运算符ECMAScript 等性运算符ECMAScript 乘性运算符ECMAScript 关系运算符ECMAScript 一元运算符ECMAScript 原始类型ECMAScript 引用类型ECMAScript 保留字ECMAScript break 和 continue 语句ECMAScript if 语句ECMAScript 迭代语句ECMAScript 标签语句ECMAScript switch 语句ECMAScript with 语句ECMAScript 语法ECMAScript 类型转换ECMAScript 原始值和引用值ECMAScript 变量HTML DOM Anchor 对象HTML DOM Area 对象HTML DOM Audio 对象HTML DOM Base 对象HTML DOM Blockquote 对象HTML DOM Body 对象HTML DOM Button 对象HTML DOM Canvas 对象HTML DOM Checkbox 对象HTML DOM Column 对象HTML DOM Color 对象HTML DOM Datalist 对象HTML DOM Input Date 对象HTML DOM Datetime Local 对象HTML DOM Datetime 对象HTML DOM Del 对象HTML DOM Details 对象HTML DOM Dialog 对象HTML DOM Document 对象HTML DOM Email 对象HTML DOM Embed 对象HTML DOM Event 对象HTML DOM Fieldset 对象HTML DOM FileUpload 对象HTML DOM Form 对象HTML DOM Frame 对象HTML DOM Frameset 对象HTML DOM Hidden 对象History 对象HTML DOM IFrame 对象HTML DOM Image 对象HTML DOM Input Image 对象HTML DOM Input Time 对象HTML DOM Ins 对象HTML DOM Keygen 对象HTML DOM Legend 对象HTML DOM Li 对象HTML DOM Link 对象Location 对象HTML DOM Map 对象HTML DOM MenuItem 对象HTML DOM Meta 对象HTML DOM Meter 对象HTML DOM Month 对象Navigator 对象HTML DOM Number 对象HTML DOM Object 对象HTML DOM Ol 对象HTML DOM OptionGroup 对象HTML DOM Option 对象HTML DOM Parameter 对象HTML DOM Password 对象HTML DOM Progress 对象HTML DOM Button 对象HTML DOM Quote 对象HTML DOM Radio 对象HTML DOM Input Range 对象HTML DOM Reset 对象Screen 对象HTML DOM Script 对象HTML DOM Input Search 对象HTML DOM Select 对象HTML DOM Source 对象HTML DOM Style 对象HTML DOM Submit 对象HTML DOM Table 对象HTML DOM TableCell 对象HTML DOM TableHeader 对象HTML DOM TableRow 对象HTML DOM Text 对象HTML DOM Textarea 对象HTML DOM Time 对象HTML DOM Title 对象HTML DOM Track 对象HTML DOM Input URL 对象HTML DOM Video 对象HTML DOM Input Week 对象Window 对象JavaScript eval() 函数JavaScript Array 对象JavaScript Boolean 对象JavaScript Date 对象JavaScript 全局对象JavaScript Math 对象JavaScript Number 对象JavaScript RegExp 对象JavaScript String 对象HTML DOM getContext() 方法多媒体教程 - 在 Web 上使用图像多媒体教程 - GIF 图像多媒体教程 - JPEG 图像PHP 教程SVG 教程HTTP 方法:GET 对比 POST什么是超文本?TCP/IP 教程VBScript 教程万维网联盟(W3C)教程XML 教程XML DOM 加载函数XML DOM 教程XML DOM 参考手册

ECMAScript 一元运算符

一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中最简单的运算符。

delete

delete 运算符删除对以前定义的对象属性或方法的引用。例如:

var o = new Object;
o.name = "David";
alert(o.name);	//输出 "David"
delete o.name;
alert(o.name);	//输出 "undefined"

在这个例子中,删除了 name 属性,意味着强制解除对它的引用,将其设置为 undefined(即创建的未初始化的变量的值)。

delete 运算符不能删除开发者未定义的属性和方法。例如,下面的代码将引发错误:

delete o.toString;

即使 toString 是有效的方法名,这行代码也会引发错误,因为 toString() 方法是原始的 ECMAScript 方法,不是开发者定义的。

void

void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:

<a href="javascript:window.open('about:blank')">Click me</a>

如果把这行代码放入 HTML 页面,点击其中的链接,即可看到屏幕上显示 "[object]"。TIY

这是因为 window.open() 方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。

要避免这种效果,可以用 void 运算符调用 window.open() 函数:

<a href="javascript:void(window.open('about:blank'))">Click me</a>

这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。

提示:请记住,没有返回值的函数真正返回的都是 undefined。

前增量/前减量运算符

直接从 C(和 Java)借用的两个运算符是前增量运算符和前减量运算符。

所谓前增量运算符,就是数值上加 1,形式是在变量前放两个加号(++):

var iNum = 10;
++iNum;

第二行代码把 iNum 增加到了 11,它实质上等价于:

var iNum = 10;
iNum = iNum + 1;

同样,前减量运算符是从数值上减 1,形式是在变量前放两个减号(--):

var iNum = 10;
--iNum;

在这个例子中,第二行代码把 iNum 的值减到 9。

在使用前缀式运算符时,注意增量和减量运算符都发生在计算表达式之前。考虑下面的例子:

var iNum = 10;
--iNum;
alert(iNum);	//输出 "9"
alert(--iNum);	//输出 "8"
alert(iNum);	//输出 "8"

第二行代码对 iNum 进行减量运算,第三行代码显示的结果是("9")。第四行代码又对 iNum 进行减量运算,不过这次前减量运算和输出操作出现在同一个语句中,显示的结果是 "8"。为了证明已实现了所有的减量操作,第五行代码又输出一次"8"。

在算术表达式中,前增量和前减量运算符的优先级是相同的,因此要按照从左到右的顺序计算之。例如:

var iNum1 = 2;
var iNum2 = 20;
var iNum3 = --iNum1 + ++iNum2;	//等于 "22"
var iNum4 = iNum1 + iNum2;		//等于 "22"

在前面的代码中,iNum3 等于 22,因为表达式要计算的是 1 + 21。变量 iNum4 也等于 22,也是 1 + 21。

后增量/后减量运算符

还有两个直接从 C(和 Java)借用的运算符,即后增量运算符和后减量运算符。

后增量运算符也是给数值上加 1,形式是在变量后放两个加号(++):

var iNum = 10;
iNum++;

不出所料,后减量运算符也是从数值上减 1,形式为在变量后加两个减号(--):

var iNum = 10;
iNum--;

第二行代码把 iNum 的 值减到 9。

与前缀式运算符不同的是,后缀式运算符是在计算过包含它们的表达式后才进行增量或减量运算的。考虑以下的例子:

var iNum = 10;
iNum--;
alert(iNum);	//输出 "9"
alert(iNum--);	//输出 "9"
alert(iNum);	//输出 "8"

与前缀式运算符的例子相似,第二行代码对 iNum 进行减量运算,第三行代码显示结果("9")。第四行代码继续显示 iNum 的值,不过这次是在同一语句中应用减量运算符。由于减量运算发生在计算过表达式之后,所以这条语句显示的数是 "9"。执行了第五行代码后,alert 函数显示的是 "8",因为在执行第四行代码之后和执行第五行代码之前,执行了后减量运算。

在算术表达式中,后增量和后减量运算符的优先级是相同的,因此要按照从左到右的顺序计算之。例如:

var iNum1 = 2;
var iNum2 = 20;
var iNum3 = iNum1-- + iNum2++;	//等于 "22"
var iNum4 = iNum1 + iNum2;		//等于 "22"

在前面的代码中,iNum3 等于 22,因为表达式要计算的是 2 + 20。变量 iNum4 也等于 22,不过它计算的是 1 + 21,因为增量和减量运算都在给 iNum3 赋值后才发生。

一元加法和一元减法

大多数人都熟悉一元加法和一元减法,它们在 ECMAScript 中的用法与您高中数学中学到的用法相同。

一元加法本质上对数字无任何影响:

var iNum = 20;
iNum = +iNum;
alert(iNum);	//输出 "20"

这段代码对数字 20 应用了一元加法,返回的还是 20。

尽管一元加法对数字无作用,但对字符串却有有趣的效果,会把字符串转换成数字。

var sNum = "20";
alert(typeof sNum);	//输出 "string"
var iNum = +sNum;
alert(typeof iNum);	//输出 "number"

这段代码把字符串 "20" 转换成真正的数字。当一元加法运算符对字符串进行操作时,它计算字符串的方式与 parseInt() 相似,主要的不同是只有对以 "0x" 开头的字符串(表示十六进制数字),一元运算符才能把它转换成十进制的值。因此,用一元加法转换 "010",得到的总是 10,而 "0xB" 将被转换成 11。

另一方面,一元减法就是对数值求负(例如把 20 转换成 -20):

var iNum = 20;
iNum = -iNum;
alert(iNum);	//输出 "-20"

与一元加法运算符相似,一元减法运算符也会把字符串转换成近似的数字,此外还会对该值求负。例如:

var sNum = "20";
alert(typeof sNum);	//输出 "string"
var iNum = -sNum;
alert(iNum);		//输出 "-20"
alert(typeof iNum);	//输出 "number"

在上面的代码中,一元减法运算符将把字符串 "-20" 转换成 -20(一元减法运算符对十六进制和十进制的处理方式与一元加法运算符相似,只是它还会对该值求负)。

关于千图| 赞助千图 |千图首页   Copyright2014千图网   沪ICP备10011451号-6   用时:0.0441秒

千图网提示