javascript 中 void 0的含义及undefine于void 0区别

undefined是一个全局属性,表示未定义或定义了没有赋值。

void是一个一元运算符,不管传入什么参数都会返回undefined。 

void操作符是在ECMAScript v1中定义的,而undefined是在ECMAScript v5中定义的。

我们知道undefined不是javascript的保留字,所以我们可以用undefined作为变量名。这时,我们定义的

undefined就会影响到使用undefined作为判断的地方。看下面例子:

测试了主流浏览器IE7-IE11、opera、firefox、safati、chrome

 undefined=123;
 alert(undefined); //IE7、IE8是123,其余:IE9-IE11、opera、firefox、safati、chrome都是
undefined
 alert(void 0);//IE7-IE11、opera、firefox、safati、chrome都是undefined

最后,总结一下:

使用void 0代替undefined是为了兼容性以及预防代码的不规范(自己修改undefined的值)。 

时间: 2024-10-29 19:11:30

javascript 中 void 0的含义及undefine于void 0区别的相关文章

JavaScript中的bind,call和apply函数的用法和区别

一直没怎么使用过JavaScript中的bind,call和apply, 今天看到一篇比较好的文章,觉得讲的比较透彻,所以记录和总结如下 首先要理解的第一个概念,JavaScript中函数调用的方式,总结下来,有以下4种 1. 方法调用 2. 正常函数调用 3. 构造器函数调用 4. apply/call 调用 要明白的第2个概念, JavaScript 中的函数,无论是上面哪种函数调用方式,除了你函数声明时定义的形参外,还会自动给函数添加两个形参,分别是this 和 arguments 要明白

javascript中的innerHTML,innerText,outerHTML的用法及其区别

示例html代码: <div id="test"> <span style="color:red">test1</span> test2 </div> 获得id为test的DOM对象,下面就不一一获取了. var test = document.getElementById('test'); test.innerHTML 描述:也就是从对象的起始位置到终止位置的全部内容,包括Html标签. 上例中的test.inner

什么是JavaScript中的面向对象? 与其他编程语言的面向对象有什么区别? 什么是原型?

面向对象与原型模式 1.1. js的对象: 定义:是"无序属性的集合,其属性可以包含基本值,对象,和函数",没有类的概念(其他面向对象的语言都有类的概念) 面向对象思维:把解决问题的关注点放在解决问题的所需对象上. 1.2. 面向对象的三大特性: 1.2.1. 封装 就是讲一系列属性和方法,也就是功能 ,封装在对象里面,对象对外界暴露一些接口,外界在使用的时候,不需要关心对象内部的具体功能. 1.2.2. 继承 # 其他面向对象语言中的继承:有父子关系. # JS中的继承:自己没有的东

Javascript中的this指向。

一.JavaScript中的函数 在了解this指向之前,要先弄明白函数执行时它的执行环境是如何创建的,这样可以更清楚的去理解JavaScript中的this指向. function fn(x,y,name){ var str1=x; var str2=y; this.name=name; function(){ alert(str1,str2); } }fn(1,1,Admin); 当调用fn(1,1,Admin)时,首先函数会创建一个活动对象,也叫做变量对象,接着为函数调用创建一个类似数组的

一篇文章带你了解JavaScript中的函数表达式,递归,闭包,变量,this对象,模块作用域

作者 | Jeskson 来源 | 达达前端小酒馆 定义函数的方式: 第一种为 函数声明: 第二种为 函数表达式. 语法: function functionName(arg0, arg1, arg2) { // 函数体 } 在Firefox,Safari,Chrome和Opera有效: 就是通过这个属性可以访问到这个函数指定的名字. console.log(functionName.name); // 'functionName' 函数声明: 它的一个重要特点就是:函数声明提升,就是在执行代码

JavaScript中的工厂方法、构造函数与class

JavaScript中的工厂方法.构造函数与class 本文转载自:众成翻译 译者:谢于中 链接:http://www.zcfy.cc/article/1129 原文:https://medium.com/javascript-scene/javascript-factory-functions-vs-constructor-functions-vs-classes-2f22ceddf33e#.wby148xu6 在ES6出现之前,人们常常疑惑JavaScript中的工厂模式和构造函数模式到底有

转:js中javascript:void(0) 真正含义

from:http://www.jb51.net/article/71532.htm 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. 我想使用过ajax的都常见这样的代码: 代码如下: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)究竟是何含义呢? void 操作符用法格式如下: 1. javascript:void (expression) 2.

JavaScript中 void(0) 的含义

JavaScript中 void (0)的含义 概述 void运算符执行传递给它的语句,然后返回undefined. 语法 void expression void 运算符通常仅仅被用来获取undefined的原始值,通常用void (0) (等同于void 0). 我们为什么不直接用undefined呢? undefined不是一个保留字(在JavaScript的某些环境中是个全局变量).这也就是说undefined是个可用的变量名,你可以给它任意赋值.例如: alert(undefined)

js中 javascript:void(0)的含义

void(0)用于执行某些处理,但是不整体刷新页面的情况下, javascript:void(0)表示不做任何动作.如: <a href="javascript:void(0);" onclick="alert('ok');"></a> 这里表示这个链接不做跳转动作,执行onClick事件. 我想使用过ajax的都常见这样的代码: <a href="javascript:doTest2();void(0);">