javascript中的undefined 和 not defined
经研究发现,两者之间有很大的区别,不知从英语讲,这两者都有啥区别,研究结果如下
测试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 可以翻译成 未定义的
转载于:https://www.cnblogs.com/yangkai-cn/p/4016644.html
javascript中的undefined 和 not defined相关推荐
- javascript中的undefined,null,,0和false的云集
在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...
- 区分JavaScript中的undefined,null和NaN
区分underfined,null和NaN 先看看下面语句的运行结果: 1: var a; 2: alert(a); //显示"undefined" 3: alert(typeof ...
- javaScript中的undefined
Undefined类型 Undefine类型只有一个值,就是undefined,通过let或者var声明的变量但没有初始化时,就相当于给变量赋予了undefined,对于const和不加修饰符的变量必 ...
- Javascript中undefined和not defined有什么区别?
概念上的解释: undefined是javascript语言中定义的五个原始类中的一个,换句话说,undefined并不是程序报错,而是程序允许的一个值. not defined是javascript ...
- [转]JavaScript中的几个tip
1.JavaScript中的继承 在 JavaScript中实现继承的方法是:将子类的 prototype 属性设置为父类的对象. 例如,我有一个 Basket 类,继承 Hashtable 类: j ...
- java Null==undefined_javascript中的undefined和null有什么区别
原标题:javascript中的undefined和null有什么区别 java中的undefined和null的区别有:类型不同前者返回的是未定义值后者是对象:转换原始类型方式不同前者是不支持转换后 ...
- javascript中not defined、undefined、null以及NaN的区别
[ 前言 ] 从踏入IT行业开始,我就发现技术人员写博客很有必要.如果不写博客,时间久了就像好比天天在外面建房子的人,没有一个自己的房子一样.不管学习紧不紧,工作忙不忙,多动手进行梳理总结,一方面是为 ...
- 是否有标准函数检查JavaScript中的null,undefined或空白变量?
是否有通用的JavaScript函数可检查变量是否具有值并确保其undefined或为null ? 我有以下代码,但是不确定是否能涵盖所有情况: function isEmpty(val){retur ...
- 解剖JavaScript中的null和undefined
在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位 ...
最新文章
- 在java中表示json_在Java中解析JSON而不知道JSON格式
- pythonselenium浮动框_python上selenium的弹框操作实现
- 编码实现Spring 利用@Resource注解实现bean的注入,xml实现基本数据类型的注入
- 洛谷——P2083 找人
- java gsp_GSP序列模式分析算法
- TFIDF java实现
- log4j每天生成一份html格式的日志
- python嵌套列表操作方法_python中多层嵌套列表的拆分方法
- 最优化理论与算法期末试题_最优化原理和方法试题答案.doc
- 计算机控制技术课程2018更新资料
- html 左侧居中对齐,HTML的居中对齐
- Windows 10聚焦怎么用?教你玩转Windows聚焦功能
- 计算机大一会学ps吗,PS老是卡真的是电脑的问题吗?学会这几步帮你解决PS卡顿问题!...
- AutoCAD2020安装教程
- 软文写作技巧与营销的相互作用
- 常见的弱口令爆破工具
- RAS--远程访问服务
- 俄罗斯方块游戏开发教程7:消除判断和处理
- 空间参考系统据库srs.db的使用
- 边缘设备、系统及计算杂谈(9)——dapr学习之二
热门文章
- openStack Packages yum upgrade
- Oracle delete input与delete all input
- linux memcacheQ的安装与使用
- mysql命令行的几个用法
- Oracle数据库性能优化
- shutdown TCP ports,blocked all malicious scan
- python 反传播_岗位 | 滴滴急招反欺诈数据分析实习生(可转正)!字节跳动+德勤实习生项目热招中...
- mysql 表名通配符导出,mysqldump只有某些前缀/ Mysqldump通配符的表?
- Java 并发(JUC 包-03)
- 输油管道问题 测试数据_建立测试时要考虑的数据管道