js判断变量是否为undefined

JavaScript074

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

js 产生undefined的情况: 

 1.<script type="text/javascript">

        var outObj = { 

         type :"java"

        }

        function innerM(){

         var p

         alert(p)//undefined

         alert("k:"+k)//error--innerObj未定义

         alert(outObj.jack)//undefined

         alert(innerObj.jack)//error--innerObj未定义

        }

        innerM()

    </script>

 

 2. <script type="text/javascript">

        alert(typeof(false) === 'boolean') //true

        alert(typeof(0) === 'number') //true

        alert(typeof("") === 'string') //true

        alert(typeof(null) === 'object') //true

        alert(typeof undefined === 'undefined') //true

    </script>

 

 3. <script type="text/javascript">

        alert(false == undefined) //false

        alert(false == null) //false 

        alert(false == 0) //true

        alert(false == "") //true

        alert(null == undefined) //true

    </script>

 

  4.<script type="text/javascript">

        alert(false.toString())    // "false"

        alert("".charAt(0))        // ""

        alert((0).toExponential(10))  // 0.0000000e+0

        alert(undefined.toString())    // throw exception "undefined has no properties"

        alert(null.toString())             // "null has no properties"

    </script>

     

 

  5.<script type="text/javascript">

        alert(String(false))    // "false"

        alert(String(""))        // ""

        alert(String(0))  // 0.0000000e+0

        alert(String(undefined))    // "undefined"

        alert(String(null))             // "null"

     

        alert(decodeURI(undefined))// "undefined"

        alert(decodeURI(null))// "null"

    </script>