1.undefined

undefined在js中并不是关键字/保留字,因此在IE5.5~8中可以对undefined赋值,但是在IE9以上,对其赋值是无效的

<script>
    var a= undefined;
    undefined = 1;
    console.log(a);
    console.log(undefined);
    console.log(typeof a);
    console.log(typeof undefined);
</script>

在IE 6,7,8中的结果为:

undefined

1

undefined

number

在IE 9以上以及其他浏览器中

undefined

undefined

undefined

undefined

2.void的行为特点

  1.不管void后面的操作数是什么,void都返回纯正的undefined;

  2.void会对后面的操作数作一次取值操作,如果后面是一个getter函数,则执行一次getter函数

<script>
         var article = {
            _view: 0,
            get view(){
                console.log(this._view);
                return this._view++;
            }
        };
        var test = void article.view; // 执行一次getter函数,输出0并返回undefined
        console.log(test); // 显示undefined
        console.log(article._view); // 显示1

        var test = delete article.view;//delete不会执行getter函数,删除成功返回true,否则返回false
        console.log(test);    //显示true
        console.log(article._view); // 显示1
        console.log(article.view); //显示undefined
</script>

undefined和void的更多相关文章

  1. undefined 与void 0

    参考:https://segmentfault.com/a/1190000000474941 Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法 ...

  2. 【跟着子迟品underscore】从用 `void 0` 代替 `undefined` 说起

    Why underscore 最近开始看 underscore源码,并将 underscore源码解读 放在了我的 2016计划 中. 阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多 ...

  3. 为什么js中要用void 0 代替undefined

    这个是Backbone.js中的一句源码 if (callback !== void 0 && 'context' in opts && opts.context == ...

  4. js 用 void 0 替代 undefined

    underscore 源码没有出现 undefined,而用 void 0 代替之.为什么要这么做?我们可以从两部分解读,其一是 undefined 哪里不好了,你非得找个替代品?其二就是替代品为毛要 ...

  5. js中如何获取纯正的undefined?

    1.为什么要获取undefined? 因为undefined在javascript中不是保留字,可以被用户当做变量来赋值,这样如果我们后期需要用到undefined来检测一个变量的话,那么检测的值就不 ...

  6. Void 0

    void anything 都返回 undefined , 使用Void 0 ,仅仅是因为习惯而已,所以不必介怀. 比较好的写法应该是 void(0)

  7. undefined与null的区别(待修整)

    没有实体的对象称为空对象.只用对象的引用,而不存在引用的实体对象 就叫做空对象 在常见的强类型语言中,通常有一个表示"空"的值,比如NULL.但是在Javascript中,空(或者 ...

  8. javascript---不可靠的“undefined”

    undefined 在 JavaScript 中,假设我们想判断一个是否是 undefined,那么我们通常会这样写: if(a === undefined){//code} 但是,JavaScrip ...

  9. 浅谈Javascript中的void操作符

    由于JS表达式偏啰嗦,于是最近便开始采用Coffeescript来减轻负担.举个栗子,当我想取屋子里的第一条dog时,首先要判断house对象是否存在,然后再判断house.dogs是否存在,最后取h ...

随机推荐

  1. LCA的五种解法

    标准求法 //O(nlogn)-O(logn) #include<cstdio> #include<algorithm> using namespace std; ; ],to ...

  2. iOS真机调试的验证项

    基本的匹配项 App 描述文件 BundleID (匹配) ApplicationID Cert (匹配) Cert DeviceID (被包含) DeviceIDs 描述文件就是包含了各种需要验证信 ...

  3. A线段树

    线段树专题 顾琪坤 1.简介: 打acm的时候,经常会碰到一类问题,比方给你n个数的序列,然后动态的更改某些数的值,然后又动态地询问某个区间的值的和或者其它乱七八糟的东西,对于单个更改或者询问,也许很 ...

  4. Angular数据双向绑定

    Angular数据双向绑定 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.Angul ...

  5. myeclipse10 将一个java工程合并到web工程

    参考:zhaoshijie http://zhaoshijie.iteye.com/blog/ baidu: http://zhidao.baidu.com/link?url=WXr-EgI0OyUs ...

  6. [转]动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法

    本文转自:http://blog.csdn.net/limlimlim/article/details/8647038 [导读]ServiceDescriptionImporter是创建Web Ser ...

  7. Scrum会议3(Beta版本)

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  8. AMD GPU spec (public)

    http://www.x.org/docs/AMD/old/ Index of /docs/AMD/old Name Last modified Size Description Parent Dir ...

  9. DS实验题 Old_Driver UnionFindSet结构

    题目 思路 很典型的并查集问题,朋友A和B要合并到一个统一的集合中,也就是Union(A, B)操作,在Union操作中需要先找到A所属的集合的代表元和B所属集合的代表元,也就是使用Find(A)和F ...

  10. Javascript 笔记与总结(1-2)词法分析

    词法分析,按顺序分析 3 样: 第 1 步:先分析参数 第 2 步:再分析变量声明 第 3 步:再分析函数声明 一个函数能使用的局部变量,就从上面 3 步分析而来. 具体步骤: 0:函数运行前的瞬间, ...