javascript - js:请问未声明的变量的数据类型是不是Null?
PHP中文网
PHP中文网 2017-04-11 13:21:43
[JavaScript讨论组]

js:请问未声明的变量的数据类型是不是Null?
试了一下alert报错,是不是说明这个没值?还是说它的值为null?
根本不存在的变量是不是就是空对象?
求大神解答。

PHP中文网
PHP中文网

认证0级讲师

全部回复(7)
PHPz

为undefined
如果为null是可以打印出来的
空对象指的是{}

PHP中文网

ECMAScript的变量是松散类型的,可以用来保存任何数据。
定义变量时如果不使用var也是可以的,
例: message = 100;

alert(message);//100 有效但不推荐这样做

而未经初始化的变量会保存为undefined

阿神

你都没声明,作用域里面就没这个标识符,连值都没有,就更别说null了。
空对象和没声明的变量是两个概念。

PHP中文网
typeof a; // 结果"undefined"
伊谢尔伦

m=10;
alert(typeof(m));//结果:number

PHP中文网

1.请问未声明的变量的数据类型是不是Null?
2.试了一下alert报错,是不是说明这个没值?还是说它的值为null?
3.根本不存在的变量是不是就是空对象?
答:
1.typeof null的结果是object也就是说,null存在的前提是这个变量必须声明。所以当我想知道一个未声明的变量应该是什么类型是我可以使用如下代码进行验证

typeof someting // "undefined"

2.ReferenceError:xxx is not defined是这个报错,翻译过来就是“引用错误:xxx未定义”,但是当你提前声明时

var something;
alert(something); // undefined

这就是设计了undefined类型的设计用意

  • 该变量未声明

  • 该变量未定义

alert一个未声明的变量时会报错,如果变量声明但未初始化(定义),则弹出undefined
3.空对象的声明方式就是var empty = {},它与var obj = new Object()是一致的,但是后者使用的是构造器,所以建议使用前者,更高效,简明。

大家讲道理

要是我的reputation 上了125 我绝对给你 vote down , 这种问题在高级程序设计就能找到答案!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号