javascript中的undefined和not defined区别示例介绍


Posted in Javascript onFebruary 26, 2014

经研究发现,两者之间有很大的区别,不知从英语讲,这两者都有啥区别,研究结果如下
测试os:ubuntu
测试浏览器:chrome

测试案例1
console.log(a)
报错 ReferenceError: a is not defined

测试案例2
var a
console.log(a)
无报错,但是输出undefined

测试案例2
var b = {};
console.log(b.a)
无报错,但是输出undefined

测试案例3
function c() {
}
var d = new c();
console.log(d.a)
无报错,但是显示undefined
关于typeof
以上所有用来测试的对象用typeof 返回的都是 String("undefined")
关于或运算 ||
var d = a||3
报错 a not defined
var a;
var d = a || 3
结果:d==3
var c = 22 || 44
c==22
var c = false || 33
c == 33
if(x) {
}
报错
var x
if(x) {
}
if内不执行

总结:
js中有两种undefined 虽然用typeof 返回都是 String("undefined")
其中 定义之后,但是未经任何操作或者某对象的一个未定义的属性,都属于 可以拿来运算的 undefined ,可以用来当作逻辑运算
第二种的变量,完全没有定义,而且没有任何背景的(x.a,虽然x无a属性,但是给x面子),属于报错类型不能被使用,除非用typeof函数
js中的或运算,并不返回bool值,而是返回js对两边条件最后一个计算的值,比如 1||2 1为真,2不需要计算,所以 1||2 == 1 a||1 报错
var a; a|| 1 == 1;

找了本辞典翻译了一下
undefined可以翻译成:不明确的,也就是不知道用来干嘛的
而 not defined 可以翻译成 未定义的

Javascript 相关文章推荐
JObj预览一个JS的框架
Mar 13 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
Nov 07 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
AutoJs实现刷宝短视频的思路详解
May 22 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 #Javascript
JS获取几种URL地址的方法小结
Feb 26 #Javascript
js获取当前地址 JS获取当前URL的示例代码
Feb 26 #Javascript
JS获取select的value和text值的简单实例
Feb 26 #Javascript
JS获取文本框,下拉框,单选框的值的简单实例
Feb 26 #Javascript
Js获取下拉框选定项的值和文本的实现代码
Feb 26 #Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 #Javascript
You might like
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
javascript的函数作用域
2014/11/12 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
详解javascript高级定时器
2015/12/31 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
python GUI模拟实现计算器
2020/06/22 Python
python图片合成的示例
2020/11/09 Python
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
文秘专业个人求职信
2013/12/22 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
户外宣传策划方案
2014/05/25 职场文书
学校食品安全实施方案
2014/06/14 职场文书
Python制作表白爱心合集
2022/01/22 Python
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android