美文网首页
谈谈JS中的运算符:void的四大用法

谈谈JS中的运算符:void的四大用法

作者: 每日log | 来源:发表于2021-01-04 19:17 被阅读0次

在实际开发中,根据【变量提升】我们知道如果一个变量声明未赋值,它的值为undefined

var a;
console.log(a)// undefined

更多【变量提升】,参考链接地址:

【变量提升】:一篇理解JS预解析之变量提升

如果我们要判断一个变量是否为undefined,常用的if判断一般是:

if(a===undefined){...}

但是如果有一个变量名称恰巧是undefined,此时就需要严谨判断,void就是不能忽视的功能了。

一、void运算符简介

void运算符对给定的表达式进行求值,然后返回 undefined

语法:void expressionvoid运算符通常只用于获取 undefined的原始值,一般使用void(0)。

二、void运算符的运用

01.立即调用的函数表达式

立即执行函数的()可以用void替代

普通的立即执行函数:

(function fn(){
    console.log(123)
})()

用void表示:

void function fn(){
    console.log(123)
}()

02.在a链接中阻止跳转

 <a href="javascript:void(0);"></a> 

void(0)会返回undefined,这个链接点击之后不会做任何事情,此时就禁止了页面跳转。但是这样不是所有浏览器都兼容的,很多时候我们用href="#"

 href="#"和href="javascript: void(0)"的区别 

两者都是阻止页面跳转,href="#"执行的时候会在地址栏后面添加#号,还会让页面的滚动条滚动到页面的最上面

注意:利用 javascript: 伪协议来执行js代码是不推荐的,利用href="#"也有地址栏添加#号的问题,推荐的做法是为链接元素绑定事件

03.在箭头函数中

箭头函数标准中,当函数返回值是一个不会被使用到的时候,应该使用 void运算符,来确保返回 undefined

const fn = () => void doSomething();

04.判断值是否为undefined中

在实际开发中,我们判断一个值为undefined的时候,会第一时间想到txt === undefined的例子,但是这样做其实是有bug的,如果一个全局变量也叫undefined,那么此时会发生判断错误,正确的写法应该是txt === void(0)

if(txt === undefined)
if(txt === void(0))

相关文章

  • 谈谈JS中的运算符:void的四大用法

    在实际开发中,根据【变量提升】我们知道如果一个变量声明未赋值,它的值为undefined。 更多【变量提升】,参考...

  • JS中的void

    见过 它俩点击a标签都不会执行其他操作,也不会刷新页面。但是并不知道这两者有什么区别,后面查知: 使用void(0...

  • 谈谈JS中的运算符:++ --

    一. 自增运算符 ++ 01. 简介 自增运算符 (++) : 将其操作数递增(加1)并返回一个值。 02. 语...

  • 比较运算符

    前端学习分享(js中比较运算符的使用) 本文旨在搞清楚比较运算符的用法和场景,在js中比较运算符有以下8个 == ...

  • JS中运算符的高级用法

    没有一点骚东西都不敢证明自己是一个"前端工程师" 假如说现在我们有一个需求:有一个成长速度,成长速度为5时,显示1...

  • js中 && 和 || 运算符的用法

    我在平时写js代码时,一般也就使用&&和||判断true和false,最近在看别人的js源码时,出现了大量的&&和...

  • js 中的 void 0

    在很多源码中的 constant.js 文件中,会发现const UNDEFINED = void 0。 为什么不...

  • js中void的使用

    在ECMAScript 262规范,有如下描述: The void OperatorThe production ...

  • Javascript中的位运算符

    本文章主要讲解JS中位运算符的基本说明和常见用法 位运算符用于32位的数字上, 任何的数字操作都将转为32位, 运...

  • 随笔

    在C语言中,return后面可以什么参数都不加,这种用法一般是用在返回值为void的函数中。 逻辑运算符(逻辑与&...

网友评论

      本文标题:谈谈JS中的运算符:void的四大用法

      本文链接:https://www.haomeiwen.com/subject/ltavoktx.html