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 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
使用js获取QueryString的方法小结
Feb 28 Javascript
简单的ajax连接库分享(不用jquery的ajax)
Jan 19 Javascript
jquery实现html页面 div 假分页有原理有代码
Sep 06 Javascript
jQuery中nextUntil()方法用法实例
Jan 07 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
JavaScript 实现的checkbox经典实例分享
Oct 16 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
angularJs select绑定的model取不到值的解决方法
Oct 08 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
解决vue组件中click事件失效的问题
Nov 09 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
PHP 无限级分类
2017/05/04 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
Seajs源码详解分析
2019/04/02 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
Python中functools模块函数解析
2017/03/12 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
python实现学生通讯录管理系统
2021/02/25 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
2014员工聘用协议书(最新版)
2014/11/24 职场文书
公司2014年度工作总结
2014/12/10 职场文书
不同意离婚答辩状
2015/05/22 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
谢师宴学生致辞
2015/07/27 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
浅谈mysql执行过程以及顺序
2021/05/12 MySQL