JavaScript中的void运算符有什么意义?

我见过有人void在代码中使用运算符。我在href属性中也看到了这一点:javascript:void(0)似乎没有什么比这更好的了javascript:;

那么,使用void运算符的理由是什么?

回答:

JavaScriptvoid运算符用于显式返回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。

您可以从我的教程文章中了解更多信息:https

//josephkhan.me/the-javascript-void-operator/

¹在ECMAScript 5和更高版本中,undefined保证仍可以定义全局变量(ECMA-262第5版,第15.1.1.3节),尽管仍可以在内部作用域中将变量命名为undefined

以上是 JavaScript中的void运算符有什么意义? 的全部内容, 来源链接: utcz.com/qa/408599.html

回到顶部