var undefined = "东方云游";
alert(undefined); // undefined 不一定为undefined ie8(包含ie8)以下会返回 "东方云游"

首先全局作用域的undefined是window下面的一个属性,这个属性对于一般的浏览器是不能被修改的。但是在ie8(包括ie8)以下则可以被修改。

(function(){
var undefined = "东方云游";
alert(undefined); // 东方云游
})()

然后以函数自执行的形式即一个局部环境中定义了一个变量undefined(注意这个时候它不再是window下的属性),其实它和普通的变量没有什么差别,就是一个声明赋值的情况,所以不管在哪个浏览器中输出都是 "东方云游"

也就是说:
全局环境中:undefined是window下的属性,在绝大部分浏览器中是不能被修改的(ie8包括ie8可以被修改)
局部环境中:undefined和普通的变量没有太大的差别,所以可以像其他变量一样使用

jQuery 中:

strundefined = typeof undefined,//新的jQ中直接使用undefined,因为不支持ie678了。
strundefined = "undefined",
那不直接用"undefined"是因为利于压缩么?
是用于避开 分词时对关键字的处理,这是编译原理的东西,一段代码,先进行分词,转换成AST(抽象语法树),简单来说,就是有利于浏览器的JS 引擎对用户代码进行优化。 嗑嗑,undefined不是关键字。 因为这个吧:https://bugs.jquery.com/ticket/14543#comment:2
strundefined was introduced to work around a ​minification issue with UglifyJS that replacedtypeof el.domMethod !== "undefined" with e.domMethod!==void 0, which breaks in IE when el is an XML node (see #13315). The issue has since been fixed, so it's worth looking at the effects on output size of comparing typeof output to variables or constants for all cases. Would you like to tackle this, FarSeeing? http://202.197.191.206:8080/05/text/chapter02/section3/index1_bq.htm 当识别到字母开头的字母数字串时,先查关键字表。若查不到则为标识符,查到则为关键字。词法分析什么的。 大牛真是活词典。。。。

关于undefind的更多相关文章

  1. iOS开发 - OC - duplicate symbol _OBJC / undefind symbol 错误的相关处理

    前言: 作为一个iOS开发,相信大家都会遇到类似于 “duplicate symbol” 的程序报错. 对于很多新手来说,可能会有点手足无措,因为这种类型的报错一般并非是代码的逻辑错误,大部分情况下是 ...

  2. 一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?

    https://segmentfault.com/q/1010000003762379 A页面 console.log(handleData("search_list", &quo ...

  3. bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

    今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...

  4. JavaScript中Null和undefind区别

    公众号原文 Javascript有5种基本类型:Boolean,Number,Null,Undefined,String:和一种复杂类型:Object(对象): undefined:只有一个值,及特殊 ...

  5. js问题解决——cannot read property style of undefind

    当遇到cannot read property style of undefine的问题如下: 那就说明你设定的这个变量名为空 比如我在文档里写的属性名为list_box 但是我获取的属性名称写错了 ...

  6. 【JS】JavaScript中Null和undefind区别

    1.undefined:只有一个值,及特殊的undefined.在使用var声明变量但未对其初始化时,这个变量的值是undefined,简言之,undefined就是表示变量申明了但未初始化时的值. ...

  7. 使用react-navigation提示undefind is not a function

    在学习react-natrive的时候,看到导航跳转一章,遂试了一下demo: 但是呢,在安卓模拟器上却报错了: 找了许多方法,包括降低版本都不行,后来修改了一下导出就可以了:

  8. 重温js之null和undefind区别

    在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undef ...

  9. JS基础_Null和Undefind

    1.Null Null类型的值只有一个值,就是null null专门用来表示一个为空的对象 var a=null; console.log(a);//nulltypeof a //object 2.U ...

随机推荐

  1. 介绍linux设备驱动编程

    目前,Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer):       主要利用C库函数和Linux API进行应用 ...

  2. Altium Designer的pcb上添加文字说明

  3. 微信浏览器跳转外部浏览器 app下载

    这个是摘抄的,具体抄的哪里我忘记了,作为记录 2019年5月14日 现在这个好像也不好用了,微信又提示建议下载qq浏览器什么的,显示一个红色感叹号,让用户产生怀疑,很鄙视tx error_report ...

  4. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  5. irms模拟数据生成及数据分析 分类: H_HISTORY 2015-03-06 14:17 212人阅读 评论(0) 收藏

    一.数据准备 1.每天生成随机一个文本,每小时向文本中追加2次数据,每次10万条 随机数据生成: 2,32  * * * *  bash /mnt/jediael/irms/signalGenerat ...

  6. angular动画知识点以及代码样例

    原文地址 https://www.jianshu.com/p/4400174072e2 大纲 1.angular动画的相关概念 2.angular动画的绑定方式 3.angular动画代码实例 1.a ...

  7. C# 使用 RabbitMQ

    1. RabbitMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接 ...

  8. PHP 根据对象属性进行对象数组的排序(usort($your_data, "cmp");)(inside the class: usort($your_data, array($this, "cmp")))

    PHP 根据对象属性进行对象数组的排序(usort($your_data, "cmp");)(inside the class: usort($your_data, array($ ...

  9. AngularJS之ng-class指令

    ng-class是AngularJS预设的一个指令,用于动态自定义dom元素的css class name. 在angular中为我们提供了3种方案处理class: 1:scope变量绑定. < ...

  10. request与response对象详述

    request与response对象. 1. request代表请求对象 response代表的响应对象. 学习它们我们可以操作http请求与响应. 2.request,response体系结构. 在 ...