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 相关文章推荐
javascript学习笔记(九) js对象 设计模式
Jun 19 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
Select标签下拉列表二级联动级联实例代码
Feb 07 Javascript
jquery让指定的元素闪烁显示的方法
Mar 17 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
详解vue表单验证组件 v-verify-plugin
Apr 19 Javascript
JS作用域链详解
Jun 26 Javascript
JS通用方法触发点击事件代码实例
Feb 17 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
用mysql内存表来代替php session的类
2009/02/01 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
PHP封装的多文件上传类实例与用法详解
2017/02/07 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
python实现中文输出的两种方法
2015/05/09 Python
Python3实现转换Image图片格式
2018/06/21 Python
python之django母板页面的使用
2018/07/03 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
Python八皇后问题解答过程详解
2019/07/29 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
2015年度内部审计工作总结
2015/05/20 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
Redis如何一键部署脚本
2021/04/12 Redis