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 相关文章推荐
判断是否输入完毕再激活提交按钮
Jun 26 Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 Javascript
javascript数组去掉重复
May 12 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
Oct 17 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
jQuery实现带延迟效果的滑动菜单代码
Sep 02 Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 Javascript
typescript配置alias的详细步骤
Aug 12 Javascript
jQuery实现动态操作table行
Nov 23 jQuery
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 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中strtotime函数使用方法详解
2011/11/27 PHP
php导入导出excel实例
2013/10/25 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
银行办理业务介绍信
2014/01/18 职场文书
小学生成长感言
2014/01/30 职场文书
大四自我鉴定
2014/02/08 职场文书
房地产活动策划方案
2014/05/14 职场文书
支部鉴定材料
2014/06/02 职场文书
行政复议答复书
2015/07/01 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
Nginx配置https的实现
2021/11/27 Servers