讲师中心 微信公众号
AI工具推荐 视频效率加速

JavaScript中的void运算符是什么_它有什么特殊用途

陌明君_8729

陌明君_8729

发布时间:2026-01-03 22:35:35

|

2987人浏览过

|

来源于php中文网

原创

void运算符总是返回undefined,不改变变量值或内存状态,仅丢弃表达式结果;它用于IIFE防解析错误、javascript:void(0)阻止跳转,且比直接写undefined更安全可靠。

javascript中的void运算符是什么_它有什么特殊用途

void 运算符到底返回什么

它总是返回 undefined,不管右边表达式是什么。这不是“清空值”或“销毁变量”,只是求值后强制丢弃结果、固定返回 undefined

常见误解是把它当“释放内存”或“重置变量”,其实完全无关——void 不影响任何变量的生命周期或值,只影响当前表达式的返回值。

  • void 0void falsevoid "hello" 全部等价于 undefined
  • 它比直接写 undefined 更可靠:在旧版 IE 中全局 undefined 可被覆盖,而 void 0 永远安全
  • 运算符优先级较低,常需括号:比如 void (x = 1) 才能确保赋值执行后再丢弃结果

为什么在 IIFE 前加 void

避免函数声明被解析为函数语句(Function Statement),强制 JavaScript 引擎按函数表达式(Function Expression)处理,从而允许立即调用。

不加 void 时:

function() { console.log('hi'); }()
会报 SyntaxError: Unexpected token '(',因为引擎认为这是非法的函数声明语法。

Alibabacloud Sdk Client Initialization For Java
Alibabacloud Sdk Client Initialization For Java

在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。

下载

立即学习Java免费学习笔记(深入)”;

  • void function() { ... }() 合法:void 让整个结构变成表达式,括号才被允许
  • 其他等效写法还有:!function(){}()+function(){}()(function(){})(),但 void 最语义清晰——明确表示“我不关心返回值”
  • 现代代码普遍用 (function(){})(),但 void 在压缩工具(如 UglifyJS)中更省字节:void() 总共少 1 字符

void 在 href="javascript:void(0)" 中的真实作用

阻止浏览器跳转或刷新页面,同时不触发任何副作用——它不是“防止默认行为”的万能解,而是利用了 javascript: 伪协议的执行机制。

点击链接时,浏览器会执行 javascript: 后面的代码,并把返回值当作新 URL 加载;若返回 undefined,则不跳转。

  • href="javascript:void(0)" → 执行 void 0 → 返回 undefined → 页面停留
  • href="javascript:0" 也有效(返回数字 0,非字符串,不会触发跳转),但语义模糊
  • ⚠️ 现代开发应避免这种写法:它对键盘导航、屏幕阅读器不友好,且无法禁用右键保存;推荐用 event.preventDefault() + <button> 或带 role="button" 的元素

容易被忽略的陷阱

void 是一元运算符,不能省略操作数;而且它不阻止表达式本身的副作用——只管“扔掉返回值”,不管“有没有执行”。

  • void console.log('side effect') 依然会打印日志,只是返回 undefined
  • void delete obj.key 会真正删除属性,然后返回 undefined
  • 在严格模式下,void this 返回 undefined(而非全局对象),这点和非严格模式不同
  • 不要用 void 替代条件判断:比如 if (void x) {...} 永远为假,因为 void 总是返回 undefined,而 undefined 是 falsy

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

5704

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2324

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

1592

2025.10.17

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

11826

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

1445

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

3137

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

5301

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1518

2023.08.03

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

0

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 11.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn