zoukankan      html  css  js  c++  java
  • void()表达式结果是SyntaxError

    void是一元运算符,他出现在操作数之前,操作数可以使任意类型,操作数会照常计算,但忽略计算结果并返回undefined。

    因此在操作数具有副作用的时候使用void来让程序根据语义

    console.log(void 0);//undefined;

    console.log(void (0));//undefined;

    常见的作用:

    1.替代undefined

    由于undefined并不是一个关键字,其在ie8浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void 0来替换undefined。

    var undefined = 0;

    console.log(undefined);//IE8浏览器下为10,高版本浏览器下为undefined。

    function test(){
        var undefined = 10;
        console.log(undefined);
    }    
        console.log(test());//所有浏览器下都是10

    2.客户端

     

    这个运算符最常用的客户端URL--JavaScript:URL中,在url中可以写带有副作用的表达式,而void则让浏览器不必显示这个变大时的计算结果。例如,经常在HTMl代码中的<a>标签里使用void运算符。

    <a href=“javascript:void window.open();">打开一个新窗口</a>

    3.阻止默认事件

    阻止默认事件的方式是给事件设置返回值false

    //一般写法

    <a href="http://example.com" onclick="f();return false">文字</a>

    使用void运算符可以取代上面写法

    <a href="javascript:void(f())">文字</a>

    所以void()表达式结果是SyntaxError

    ---转载自牛客网---

  • 相关阅读:
    Struts2+Spring+Ibatis集成合并
    spring多个定时任务quartz配置
    Quartz作业调度框架
    百度搜索URL参数含义
    代理IP抓取
    解决HttpWebRequest和HtmlAgilityPack采集网页中文乱码问题
    移动端上传头像-相册、拍摄-旋转
    订单倒计时
    css flex布局 实例
    currentTarget与target
  • 原文地址:https://www.cnblogs.com/Mousika/p/7202856.html
Copyright © 2011-2022 走看看