资讯专栏INFORMATION COLUMN

JavaScript中只声明但没有初始化的变量和未声明的变量以及null/undefined的区别

zhangyucha0 / 2897人阅读

摘要:只声明但没有初始化的变量和未声明的变量以及的区别声明但没有初始化的变量浏览器会弹出窗口显示因为对于使用了声明但没有进行初始化定义的变量其值默认为未声明的变量浏览器不会弹出任何东西因为是没有声明的变量打开浏览器的控制台会看到报错如下未声明的变

只声明但没有初始化的变量和未声明的变量以及null/undefined的区别 1. 声明但没有初始化的变量
var aa;
alert(aa);

浏览器会弹出窗口显示 undefined.

因为对于使用了 var 声明但没有进行初始化定义的变量, 其值默认为 undefined.

2. 未声明的变量(1)
alert(aa);

浏览器不会弹出任何东西. 因为 aa 是没有声明的变量.
打开 chrome 浏览器的控制台会看到报错如下:

3. 未声明的变量(2)
alert(typeof aa);

浏览器会弹出窗口显示 undefined.

对于没有声明的变量, 只能执行一种操作(alert(aa) 就是错误的) . 就是使用 typeof 操作符检验它的类型. 它的类型和声明但没有进行初始化的变量的类型一样, 都是 undefined.

总结: 已声明但是没有初始化的变量的值为undefined. 而未声明的变量虽然用 typeof 操作符结果为 undefined, 但是并没有值. 4. null 和 undefined 的区别

null 是一个空的对象引用.
undefined 是声明但没有被赋值的变量.
利用这两个就可以区分空对象指针和未经初始化的变量.

但是: 注意
alert(undefined == null); // 返回 true

undefined 值是派生自 null 值的. 所以对于它们的相等性测试, 返回 true

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79564.html

相关文章

  • javascript代码风格指北

    摘要:这段代码工作正常,尽管没有用分号在某些场景下是很管用的,特别是,有时候可以帮助减少代码错误。比如不好的写法尽管这段代码能正常工作,但代码中我们应尽量避免使用。前言 在我们平时工作中写代码是最频繁的事情了,但我们的代码真的好看吗? 预计本文阅读时间(10分钟) 正文 1.1--语句结尾 我们来看一段代码 //合法的代码 var name = Dreams; function sayName(...

    546669204 评论0 收藏0
  • javascript高级程序设计》笔记:undefinednull

    摘要:表示没有对象,即该处不应该有值。典型用法是作为函数的参数,表示该函数的参数不是对象。作为对象原型链的终点。表示缺少值,就是此处应该有一个值,但是还没有定义。 undefined 和 null 的简单介绍 undefined 和 null 都是简单数据类型,且对应的我数据类型下有且仅有一个值,分别为undefined和null; 《javascript高级程序设计》书中这样描述: 在使用...

    codeKK 评论0 收藏0
  • JavaScript 学习笔记一 (入门篇)

    摘要:学习笔记一入门篇最近正在看高级程序设计,一直没来得及总结一下,顺便对之前看的编程艺术进行一些简单的总结,如有一些不正确的地方还请多指出讨论。其他字符可以是字母下划线美元符号或者数字。 JavaScript 学习笔记一 (入门篇) 最近正在看《JavaScript高级程序设计》,一直没来得及总结一下,顺便对之前看的《JavaScript DOM编程艺术》进行一些简单的总结,如有一些不正...

    lentoo 评论0 收藏0
  • JavaScript随笔记(一)基础概念以及变量类型

    摘要:类型类型只有一个值,也就是在使用关键声明一个变量而未对其进行初始化时,这个变量的值就是。其他的转换方法自动四舍五入,接受一个参数,表示返回值的小数位数。以指数表示法返回字符串。 一.JavaScript中的基础概念 1.defer属性 一般我们在引用外部js文件的时候往往是将引用文件的位置放在标签当中,比如那么在标签中引入多个js文件时,浏览器会按照引入顺序加载执行这些引入的js文...

    KevinYan 评论0 收藏0
  • JavaScript学习笔记(一)

    摘要:虽然会输出,但是这只是存在的一个悠久。在的最初版本中使用的是位系统,为了性能考虑使用低位存储变量的类型信息,开头代表是对象,然而表示为全零,所以将它错误的判断为。 参考来源: JavaScript高级程序设计: book.douban.com/subject/105… 千古壹号: github.com/qianguyihao… 小册前端面试之道: juejin.im/book/5bdc71…...

    pingan8787 评论0 收藏0

发表评论

0条评论

zhangyucha0

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<