在前面的话
Generally speaking, the program language is empty only null, but the designer of Javascript Brendan Eich has designed a undefined, which undoubtedly increases the complexity of the program, but there are some reasons for this.This article will give a detailed description of the undefined and null in Javascript
从历史上看,当Javascript 1995出生,就像java,只有空成立了一个非价值。根据C
语言的传统,空的设计是自动
转换为0
但布兰登·艾奇,Javascript的设计师,觉得这是不够的,有两个
原因。第一,空的,如java,被视为一个对象。然而,Javascript的价值分为两大类,原始
类型和对象类型,和布兰登·艾奇
发现,表示没有人比对象的值。其次,Javascript的初始版本不包含
错误处理机制。当数据类型不匹配,它
经常自动转换或失败无声。布兰登·艾奇觉得如果空自动变成0,发现一个错误是不容易的。
所以,布兰登·艾奇设计了一个未定义的。这是他
区别的方式:零是一个对象,表示没有,当它变成0值;定义的是一个原始值代表了什么,变成了一个数字的值
但目前,零和未定义基本上是同义的,所有的原始类型,只有一些细微的差别。
的undefinedundefined类型只有一个值,即定义。当声明的变量没有初始化,该变量的
默认值是未定义的。所以一般来说,明确指出变量未初始化
var测试
console.log(测试= =不明) / /真实;
var测试=未定义的;未定义的
只有一个
操作可以是一个变量,尚未宣布
执行,使用typeof
运算符来
检测它的数据类型,但在严格的
模式导致错误。
Typeof(测试); / /未定义
{现场}
{ 1 }未赋值的变量被声明
{ 2 }获取对象不存在的
属性。
{ 3 }没有返回值的
函数的执行结果
{ 4 }函数的
参数未被引入。
{ 5 }无效(表达式)
var i;
console.log(我); / /未定义
var;
console.log(OP); / /未定义
函数(f){ };
console.log(f()); / /未定义
函数f(x){返回x;}
console.log(f()); / /未定义
console.log(void(0)); / /未定义
{类型转换}
布尔(未定义):false
编号(未定义):楠
字符串(定义):'undefined
无效的
null类型只有一个值,即NULL是Javascript语言的关键字,它表示一个特殊值,它通常用来描述空值。
从逻辑的角度来看,null值表示空对象指针。
{ NULL NULL是一个空对象指针,而{是空数组,{是空对象,三个是不一样的。
console.log(typeof null); / / 'object
虽然null和未定义是不同的,但它们都表示值的空缺,这两个常常是可互换的。
console.log(空= =不明) / /真实;
实际上,因为未定义和null不是类型构造函数,所以它们没有属性和
方法,也没有任何用途。{访问成员或方法的两个值将产生类型错误。
{类型转换}
布尔(空):false
编号(NULL):0
字符串(null):'null
以上Javascript类型
系统——全面理解定义和空是萧边
分享你的全部内容。我希望能给你一个
参考,希望你能得到很多
支持。