undefined 有什么问题

  1. 因为 undefined 不是保留字(Reserved Word),它只是全局对象的一个属性,在低版本的IE浏览器中会被重写。
var undefined = 10;// undefined -- chrome
// 10 -- IE 8
alert(undefined);
复制代码
  1. 在局部作用域中 undefined 还是可以被重写
(function() {var undefined = 10;// 10 -- chromealert(undefined);
})();
复制代码

为什么要用 void 0 代替

MDN 定义: The void operator evaluates the given expression and then returns undefined.

意思是说 void 运算符可以对给定的表达式求值,并且无论后面跟的是什么,都是返回 undefined,所以说不论是void 0 还是void 1都是可以的,更重要的是void不能被重写。

JavaScript URIs

当用户点击一个javascript: URI 时,它会执行URI中的代码,然后用返回的值替换页面中的内容,除非返回的事undefined。

<a href="javascript:void(0);">这个链接点击之后不会做任何事情,如果去掉 void(),点击之后整个页面会被替换成一个字符 0。
</a>
<p> chrome中即使<a href="javascript:0;">也没变化,firefox中会变成一个字符串0 </p>
<a href="javascript:void(document.body.style.backgroundColor='green');">点击这个链接会让页面背景变成绿色。
</a>
复制代码

注意,虽然这么做是可行的,但利用 javascript: 伪协议来执行 JavaScript 代码是不推荐的.

转载于:https://juejin.im/post/5c8a5798e51d4556d04c1636

为什么用「void 0」代替「undefined」相关推荐

  1. “ void 0”是什么意思? [重复]

    本文翻译自:What does `void 0` mean? [duplicate] This question already has answers here : 这个问题已经在这里有了答案 : ...

  2. JS中的void 0是什么意思?

    void 0 的意思就是undefined; 查阅资料说存在的意思是相对于undefined, 字节数变小了, 节省内存, 个人感觉主要是装逼用; 控制台打印 void 0 === undefined ...

  3. 你搞清楚「NULL」、「0」、「'0'」、「0」「\0」了吗?

    我们先讨论NULL,平时使用指针的时候,会经常遇见这个家伙,这个家伙的值是是这样定义的 #define NULL 0 或者 #define NULL (void *)0 我们看一下下面这段代码 #in ...

  4. SOME/IP协议详解「2.0·服务化通信概述」

    SOME/IP协议详解「2.0·服务化通信概述」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.0·服务化通信概述」 1 SOME/IP服务的组成 2 Method| ...

  5. 「Web2.0」的创造者表示:为Web3.0喝彩还为时尚早

    题图 | Kelly Sullivan / Getty Images for LinkedIn 图/ADOBE STOCK 最近Web3.0这个概念真的太火了. 简单来说,Web3.0将是去中心化.去 ...

  6. 「spacingjs-1.0.7」,点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载,极速在线查看享用。 链接:https://www.aliyundrive.com/s/a87tt

    「spacingjs-1.0.7」,点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载,极速在线查看享用. 链接:https://www.aliyundrive.com/s/a87tt ...

  7. 因为「Web3.0」,推特创始人被自己的投资人拉黑了

    每一个加密世界的原住民,应该都对 Web3.0 这一概念并不陌生.Web3.0 概念通常指将所有数据和内容都留存在链上.并由用户所拥有的下一代互联网,支持者们认为这有助于我们建立一个更加去中心化.对用 ...

  8. 「vlc-3.0.16-win64.exe」 下载

    「vlc-3.0.16-win64.exe」,点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放. 链接:https://www.aliyundrive. ...

  9. 三星note8android 9.0,「适配于三星S8/S8+以及Note8的Android9.0的更新已经开始了」百家号...

    「适配于三星S8/S8+以及Note8的Android9.0的更新已经开始了」百家号_作者自评: 如何看待百家号Lite小程序热议话题「适配于三星S8/S8+以及Note8的Android9.0的更新 ...

最新文章

  1. Deep Learning | 深度学习介绍与基本概念
  2. 脸部细微表情识别_您可以仅使用面部表情来控制字体吗?
  3. C#通过工厂模式,我把一大堆if干掉了
  4. word2013插入excel对象报错_在Word文档中修改嵌入的Excel对象
  5. Python手写神经网络实现3层感知机
  6. 阿里iconfont使用教程
  7. 吴恩达机器学习作业Python实现(八):异常检测和推荐系统
  8. 全国各地网站备案的通过时间表
  9. 视频广告播放器(缓存、循环播放)
  10. 微软关闭Win7所有服务器,微软公布Win7彻底退役时间 将于2020年终止所有支持
  11. 北京圣思园_Java SE Lesson 11
  12. 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
  13. 心情手札——光头日记
  14. PDA 手持式智能终端和 RFID 技术
  15. Kafka3.0.0单机安装及简单使用
  16. IT傻博士-CCNA课程在线视频(1-5)
  17. 中国大学MOOC课程信息之数据分析可视化二
  18. 人员定位系统如何构筑化工企业安全生产防线
  19. O2O平台盈利模式有哪些
  20. 企业微信怎么用?企业微信怎么设置入群欢迎语?

热门文章

  1. mct接收_MCT500
  2. c语言知识汇总,C语言知识汇总
  3. 佳能hdr_佳能750D支持HDR吗?佳能750D支持打印吗?
  4. jsplumb设置锚点_JsPlumb初始化和添加连线、端点等
  5. 新媒体运营工具有哪些?思维导图带你修炼升级
  6. java中的注释_Java注释中的/ **和/ *
  7. audition2022最新版
  8. 星号替换手机号码的中间四位数
  9. ios 打印c语言数组,第07天C语言(07):数组练习3
  10. Unity(十二):2D飞刀小游戏