js判断变量是否为undefined

JavaScript018

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

undefined是js中的一特殊的变量。

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

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

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

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

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

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

扩展资料

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

参考资料:百度百科-javascript

1、首先创建两个文件,一个jstest.html,一个jstest.js文件。

2、打开html在里面引入jstest.js。

3、打开jstest.js文件,创建一个方法aa。

4、然后接着使用if(typeof  aa=="function")判断如果aa方法存在就提示"aa方法存在",否则弹出"aa方法不存在",明显aa是存在的。

5、接着使用if(typeof  cc=="function")判断如果cc方法存在就提示"cc方法存在",否则弹出"cc方法不存在",因为我们没有定义cc这个方法,所以cc不存在。

6、打开jstest.html,第一会提示,“aa方法存在”。

if条件语句非常简单,如下:

一般『条件』是由逻辑表达式组成,比如:

但是除了这种常规的条件判断之外,还有一些非常规的,比如:

这种判断『变量』的方式,具体表达什么含义呢?如何使用?以下几种场景,具体分析 :

==是比较两个值是否相等,相同类型直接比较,不同类型的话,看情况转换。

String==Number --->toNumber(String)==Number

Boolean==(any) --->toNumber(Boolean)==(any)

Object==String/Number---->toPrimitive(Object)

对于 Object 类型,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果