我见过有人void
在代码中使用运算符。我在href
属性中也看到了这一点:javascript:void(0)
似乎没有什么比这更好的了javascript:;
那么,使用void
运算符的理由是什么?
JavaScript void
运算符用于显式返回undefined。它是一元运算符,意味着只能使用一个操作数。您可以如下所示使用它-独立使用或带括号。
void expression;
void(expression);
让我们看一些例子
void 0; //returns undefined
void(1); //returns undefined
void 'hello'; //undefined
void {}; //undefined
void []; //undefined
void myFunction();
void(myFunction());
如果您问为什么只需要返回undefined而不是返回就需要一个特殊的关键字undefined
:原因是在ES5之前,您实际上可以命名一个全局变量undefined
,例如:var undefined = "hello"
or var undefined = 23
,并且大多数浏览器都可以接受它;undefined
不能保证标识符实际上是不确定的¹。因此,要返回 实际的
未定义值,请使用void
运算符。它不是一个非常流行的运算符,并且很少使用。
让我们看一个带有void的函数示例,
//just a normal function
function test() {
console.log('hello');
return 2;
}
//lets call it
console.log(test()); //output is hello followed by 2
//now lets try with void
console.log(void test()); //output is hello followed by undefined
void
放弃函数的返回值,并显式返回undefined。
¹在ECMAScript 5和更高版本中,undefined
保证仍可以定义全局变量(ECMA-262第5版,第15.1.1.3节),尽管仍可以在内部作用域中将变量命名为undefined
。
问题内容: Java 7中的菱形运算符允许如下代码: 但是,在Java 5/6中,我可以简单地编写: 我对类型擦除的理解是这些完全相同。(无论如何,泛型都会在运行时删除)。 问题答案: 是在左侧,你使用的是通用类型,而在右侧,你使用的是原始类型LinkedList。Java中的原始类型实际上仅存在于与前泛型代码的兼容性,并且除非绝对必要,否则绝对不能在新代码中使用。 现在,如果Java从一开始就具
本文向大家介绍JavaScript中的运算符是什么?,包括了JavaScript中的运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 让我们采用一个简单的表达式“ 4 + 5等于9”。这里4和5称为操作数,“ +”称为运算符。 JavaScript支持以下类型的运算符。 算术运算符 比较运算符 逻辑(或关系)运算符 赋值运算符 条件(或三元)运算符 例 这是一个说明运算符示例的示例-
问题内容: JavaScript代码: Java代码: 为什么?我已经阅读了文档,但没有发现不同。如何将JavaScript代码移植到Java? 问题答案: 两者都是合乎逻辑的右移,但JavaScript在处理数字方面有些怪异。通常,JavaScript中的数字为浮点数,但按位运算会将其转换为无符号的32位整数。因此,即使该值看起来不应更改,它也会将数字转换为32位无符号整数。 您看到的值与相同,
问题内容: PHP中的“ =&” /“&=”运算符是什么意思?在哪里可以阅读有关它们的信息? 搜索Google没有帮助。 问题答案: 的缩写,是按位与运算符。 分配$ a作为对$ b 的引用。
本文向大家介绍什么是JavaScript中的增量(++)运算符?,包括了什么是JavaScript中的增量(++)运算符?的使用技巧和注意事项,需要的朋友参考一下 增量运算符将整数值加1。这是一个示例,其中使用递增运算符两次将a的值递增两次 示例
本文向大家介绍JavaScript中的条件运算符是什么?,包括了JavaScript中的条件运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 条件运算符首先对表达式的真值或假值求值,然后根据求值结果执行两个给定语句之一。 序号 运算符和说明 1 ?:(视情况而定) 如果条件为真?然后取值X:否则取值Y 示例 尝试以下代码以了解条件运算符在JavaScript中的工作方式: