js中viod运算符总结

目录

写在前面

常用语法

官方定义

常见用法

简单介绍


写在前面

简单来说,void运算符用于对给定的表达式进行求值,然后返回 undefined该运算符通常用于避免输出不应该输出的值。

常用语法

    void expression

官方定义

这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式。

void 运算符通常只用于获取 undefined的原始值,一般使用void(0)(等同于void 0)。在上述情况中,也可以使用全局变量undefined 来代替(假定其仍是默认值)。

常见用法

通过采用void 0undefined比直接写undefined更靠谱更安全,应该优先采用void 0这种方式;

填充<a>href确保点击时不会产生页面跳转;填充<image>src,确保不会向服务器发出垃圾请求;

简单介绍

在ES5之前,window下的undefined是可以被重写的,于是导致了某些极端情况下使用undefined会出现一定的差错。所以,用void 0是为了防止undefined被重写而出现判断不准确的情况。 ES5之后的标准中,规定了全局变量下的undefined值为只读,不可改写的,但是局部变量中依然可以对之进行改写。

非严格模式下,undefined是可以重写的,严格模式则不能重写。

除了防止被重写外,还可以减少字节。void 0代替undefined省3个字节。类似的还有很多常用的写法,下面介绍一些老司机的套路,嘿嘿。

    // 取整
    parseInt(a,10); //Before
    Math.floor(a); //Before
    a>>0; //Before
    ~~a; //After
    a|0; //After

    // 四舍五入
    Math.round(a); //Before
    a+.5|0; //After

    // 内置值
    undefined; //Before
    void 0; //After, 快
    0[0]; //After, 略慢

    // 内置值
    Infinity;
    1/0;

    // 布尔值短写法
    true; //Before
    !0; //After

    // 布尔值短写法
    false; //Before
    !1; //After

    // 判断奇偶数(装逼写法)
    if(n&1){
        console.log("n为奇数")
    }else console.log("n为偶数")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值