Rumah > hujung hadapan web > tutorial js > javascript:void什么意思

javascript:void什么意思

藏色散人
Lepaskan: 2023-01-03 09:28:03
asal
17114 orang telah melayarinya

javascript:void是Javascript中void操作符的一种用法格式;void操作符指定要计算一个表达式但是不返回值;开发者可以使用void实现a标签在点击时不发生跳转,也可以采用void0取undefined。

javascript:void什么意思

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

Javascript中void 是一个操作符,该操作符指定要计算一个表达式但是不返回值。可以使用void实现a标签在点击时不会发生跳转。也可以采用void0取undefined。

void 操作符用法

javascript:void (expression)
javascript:void expression
Salin selepas log masuk

expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。

你可以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。上面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,Javascript 上没有任何效果。

在ECMAScript 262规范中的描述

The void Operator
The production UnaryExpression : void UnaryExpression is evaluated as follows:
Let expr be the result of evaluating UnaryExpression.
Call GetValue(expr).
Return undefined.
NOTE: GetValue must be called even though its value is not used because it may have 
observable side-effects.
Salin selepas log masuk

从规范中可以了解到无论void后的表达式是什么,void操作符都会返回undefined

【推荐学习:js基础教程

为什么要用 void

undefined 在 Javascript 中并不是保留字和关键字

function isUndefined(param) {
    let undefined = 'hello world';    
    return undefined === param;
}
Salin selepas log masuk

我们可以在一个函数的上下文中定义一个变量叫 undefined, 这个时候如果要访问真正的 undefined 只能通过全局作用域来取 undefined

window.undefined;
GLOBAL.undefined;
Salin selepas log masuk

遗憾的是 window 和 GLOBAL 依然可以在函数上下文中定义, 所以从他们身上取 undefined 也不是安全可靠的方法

function test() {    let 
        undefined = 'hello world',        
        window = { undefined: 'joke' },
        f = {}
    ;    
        console.log(undefined);    
        console.log(window.undefined);    
        console.log(f.a === undefined);    
        console.log(f.a === void 0);
}
Salin selepas log masuk

判断 undefined

function isUndefined(param) { 
   return param === void 0;
}
另外一种方式
function getUndefined() {
    return;
};
    function isUndefined(param) {    
    return param === getUndefined();
}
Salin selepas log masuk

这种方式可行是因为一个函数不指定返回值将默认返回 undefined, 缺点是为了判断 undefined 还要声明一个函数, 性能上有所损耗。

优先级

void 优先级仅次于. [] ()

总结:

通过采用 void 0 取 undefined 比采用字面上的 undefined 更安全,应该优先采用 void 0 这种方式。

填充的href确保点击时不会产生页面跳转, 避免为a标签添加点击事件使用 return false 组织默认行为。

Atas ialah kandungan terperinci javascript:void什么意思. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan