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 相关文章推荐
js或css实现滚动广告的几种方案
Jan 28 Javascript
jQuery 美元符冲突的解决方法
Mar 28 Javascript
json原理分析及实例介绍
Nov 29 Javascript
js里怎么取select标签里的值并修改
Dec 10 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
Sep 16 Javascript
Vue.js实现简单ToDoList 前期准备(一)
Dec 01 Javascript
使用jQuery.Pin垂直滚动时固定导航
May 24 jQuery
node.js学习之断言assert的使用示例
Sep 28 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
通过隐藏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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php实现监听事件
2013/11/06 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
Python读取实时数据流示例
2019/12/02 Python
django 读取图片到页面实例
2020/03/27 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
共产党员承诺书
2014/03/25 职场文书
学生党员公开承诺书
2014/05/28 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
铅球加油稿100字
2014/09/26 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
志愿者个人总结
2015/03/03 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android