js判断变量是否为undefined

js判断变量是否为undefined,第1张

undefined 是js中的一特殊的变量

1、在变量提升(预解析)阶段,只声明未定义,默认值就是undefined。

2、在JS的严格模式下(”use strict”),没有明确的主体,this指的就是undefined。

3、函数定义没有返回值(return或者return后面什么也不带),默认的返回值就是undefined。

4、函数定义形参不传值,默认就是undefined。

5、对象没有这个属性名,属性值默认就是undefined。

6、在数组的find方法中,没有找到的情况下是undefined。

扩展资料

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

参考资料:

百度百科-javascript

试试consolelog(tsuccess);

其实你这只是把对象输出到控制台,相当于输出一个字符串,并不代表会执行字符串里所带的方法,所以你用consolelog(tsuccess);时,控制台只会告诉你,这里是个方法了,但它不会帮你执行方法里面的东西

在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined

Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。

Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

js 代码

var oValue;

alert(oValue == undefined); //output "true"

这段代码显示为true,代表oVlaue的值即为undefined,因为我们没有初始化它。

js 代码

alert(null == documentgetElementById('notExistElement'));

当页面上不存在id为"notExistElement"的DOM节点时,这段代码显示为"true",因为我们尝试获取一个不存在的对象。

js 代码

alert(typeof undefined); //output "undefined"

alert(typeof null); //output "object"

第一行代码很容易理解,undefined的类型为Undefined;第二行代码却让人疑惑,为什么null的类型又是Object了呢?其实这是JavaScript最初实现的一个错误,后来被ECMAScript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符,但是在实际编码时还是要注意这一特性。

js 代码

alert(null == undefined); //output "true"

ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。

js 代码

alert(null === undefined); //output "false"

alert(typeof null == typeof undefined); //output "false"

使用typeof方法在前面已经讲过,null与undefined的类型是不一样的,所以输出"false"。而===代表绝对等于,在这里null === undefined输出false。

undefined的英文意思就是未定义,不存在的变量也就是未定义的变量。

aphone == undefined 这行代码是否为 true 得看什么情况。

如过 a 没有声明赋值(也就是未定义), 那么这行代码会直接报错(Cannot read property 'phone' of undefined)。

如果 a 声明赋值了,同时 aphone 也声明赋值了,那么这行代码为 false。

如果 a 声明赋值了,但是 aphone 没有声明赋值,那么这行代码为 true。

以上就是关于js判断变量是否为undefined全部的内容,包括:js判断变量是否为undefined、js对象输出多了undefined、js中null和undefined的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9486164.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存