手机版

网页出现未定义是什么意思?

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

最近网上出现了一个奇怪的现象。浏览百度贴吧时,出现了未定义。那么这个未定义是什么意思呢?

undefined

Undefined是一个特殊的值,通常用于指示变量尚未赋值。对未定义值的引用返回特殊值。事实上,大多数计算机语言只有一个表示‘无’的值,比如C语言中的null,Java语言中的NULL,Python语言中的None,Ruby语言中的nil。

然而,有一种语言是例外的。JavaScript语言实际上有两个表示“none”的值:undefined和null。这是为什么?undefined和null有什么区别?

一、相似性。

在JavaScript中,变量被指定为未定义或空。说实话,两者几乎没有区别。

var a=未定义;

var a=null

在上面的代码中,一个变量分别被赋值为undefined和null,这两种编写方法的效果几乎是一样的。

Undefined和null在if语句中会自动转换为false,而equality运算符甚至会直接报告它们相等。

if(!未定义)

console.log('undefined为false ');

//undefined为false

if(!空)

console.log('null为false ');

//null为假

undefined==null

//真

上面的代码显示了他们的行为是多么相似!

既然undefined和null的含义和用法相似,为什么要同时设置两个这样的值呢?

第二,揭露真相。

原来,这和JavaScript的历史有关。当JavaScript在1995年诞生时,就像Java一样,只有null被设置为代表“none”的值。然而,JavaScript的设计者Brendan Eich认为这还不够,原因有二。

首先,像在Java中一样,null被视为一个对象。但是,JavaScript的数据类型分为两类:原语类型和复杂类型。布兰登艾希认为代表“无”的值不应该是一个对象。

其次,JavaScript的原始版本没有包含错误处理机制,当数据类型不匹配时,往往会自动转换类型或者静默失败。Brendan Eich认为,如果null自动变成0,就不容易发现错误。

因此,布兰登艾希设计了另一个未定义的。

第三,目前的用法。

然而,上述区别很快被证明在实践中是不可行的。目前,null和undefined基本上是同义词,只有一些细微的区别。

Null表示“没有对象”,也就是说,那里不应该有值。典型用法是:

(1)作为函数的参数,意味着函数的参数不是对象。

(2)作为对象原型链的终点。

对象。获取原型类型

//null

Undefined表示‘缺少值’,也就是这里应该有一个值,但是还没有定义。典型用法是:

(1)当一个变量被声明但未赋值时,它等于undefined。

(2)调用函数时,没有提供应该提供的参数,参数等于undefined。

(3)对象没有分配属性,该属性的值未定义。

(4)如果函数没有返回值,默认返回undefined。

风险值I;

i //未定义

函数f(x){console.log(x)}

f() //未定义

var o=新对象();

o.p //未定义

var x=f();

x //未定义

也就是说,今天的网页出现电脑教程,这意味着未定义。希望对大家有帮助。更多实用教程,请关注系统圣地。

版权声明:网页出现未定义是什么意思?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。