全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。
例如:
var sNum = "66";
var iNum = 66;
alert(sNum == iNum); //输出 "true"
alert(sNum === iNum); //输出 "false"
在这段代码中,第一个 alert 使用等号来比较字符串 "66" 和数字 66,输出 "true"。如前所述,这是因为字符串 "66" 将被转换成数字 66,,然后才与另一个数字 66 进行比较。第二个 alert 使用全等号在没有类型转换的情况下比较字符串和数字,当然,字符串不等于数字,所以输出 "false"。
非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。
例如:
var sNum = "66";
var iNum = 66;
alert(sNum != iNum); //输出 "false"
alert(sNum !== iNum); //输出 "true"
这里,第一个 alert 使用非等号,把字符串 "66" 转换成数字 66,使得它与第二个运算数 66 相等。因此,计算结果为 "false",因为两个运算数是相等的。第二个 alert 使用的非全等号。该运算是在问:"sNum" 与 "iNum" 不同吗?这个问题的答案是:是的(true),因为 sNum 是字符串,而 iNum 是数字,它们当然不同。
* 也就是===会先做类型检查,而==只是单纯的值比较,可以这么理解。
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。
分享到:
相关推荐
在这些运算符中,条件运算符、逗号运算符、赋值运算符、圆括号运算符和void运算符是特别重要的几个,它们各自具有不同的用途和特性。 条件运算符是JavaScript中唯一的三元运算符,它包含三个操作数,通常写作`?:`。...
特殊的运算符还有void运算符,它用于产生一个未定义值,通常用作函数调用的前缀,来阻止返回值的输出。 比较运算符,用于比较两个值,并返回一个基于比较结果的布尔值。比较运算符包括等于(==)、不等于(!=)、全...
JavaScript 运算符优先级是JavaScript语言中一个重要的概念。它决定了在没有括号明确指定执行顺序的情况下,多个运算符一起出现在表达式中时运算执行的顺序。掌握运算符优先级有助于我们编写出更准确无误的代码,...
7. typeof、void、delete、await:这些是JavaScript中的操作符,typeof用于返回变量的数据类型,void用于执行表达式但不返回结果,delete用于删除对象的属性,await用于等待一个Promise的完成。关联性是“从右到左”...
在JavaScript中,运算符优先级是指在没有明确说明运算顺序的情况下,对多个运算符表达式进行运算的先后顺序规则。熟悉和掌握这些规则对于编写正确的代码至关重要。 首先,JavaScript中运算符的优先级可以分为19个...
Flash AS是基于ECMAScript的一个面向对象的编程语言,它的语法与JavaScript有诸多相似之处。在Flash环境中,我们通过ActionScript编写代码,创建交互式的动画、游戏和应用程序,如本例中的计算器。ActionScript 3.0...
综上所述,在JavaScript中判断一个变量是否为`undefined`时,最推荐的方法是使用`typeof`运算符配合严格等于运算符`===`。这种方法不仅可以确保准确性,还能避免因为类型转换而导致的潜在问题。此外,还可以根据具体...
3. void(0)的作用:在JavaScript中,void是一个运算符,它可以计算出一个表达式然后丢弃结果并返回undefined。在这里,void(0)通常用于使函数调用的表达式返回undefined,目的是确保执行了JavaScript代码但不返回...
在本文中,我们将深入探讨如何使用JavaServer Pages(JSP)技术来编写一个Web计算器页面,实现基本的加、减、乘、除功能。JSP是Java平台上的动态网页开发技术,它允许开发者将HTML代码与Java代码混合,以便在服务器...
3. **构造方法**:Test类中有三个构造方法,尽管第三个构造方法的签名不正确(含有void关键字),但在Java中它仍被视为一个构造方法。因此,答案是D(3)。 4. **变量命名**:B选项正确,变量不能以数字开头。A选项...