undefined 工程结构中Ne和N/A(不存在)是什么

格式:PDF ? 页数:3 ? 上传日期: 00:37:08 ? 瀏览次数:6 ? ? 700积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

大多数计算机语言有且仅有一個表示"无"的值,比如C语言的NULL,Java语言的nullPython语言的None,Ruby语言的nil

有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null这是为什么?


上面代码中a變量分别被赋值为undefined和null,这两种写法几乎等价

undefined和null在if语句中,都会被自动转为false相等运算符甚至直接报告两者相等。


上面代码说明两者的荇为是何等相似!

既然undefined和null的含义与用法都差不多,为什么要同时设置两个这样的值这不是无端增加JavaScript的复杂度,令初学者困扰吗Google公司开發的JavaScript语言的替代品Dart语言,就明确规定只有null没有undefined!

最近,我在读新书时意外发现了这个问题的答案!

原来,这与JavaScript的历史有关1995年时,最初像Java一样只设置了null作为表示"无"的值。

根据C语言的传统null被设计成可以自动转为0。


但是JavaScript的设计者Brendan Eich,觉得这样做还不够有两个原因。

首先null像在Java里一样,被当成一个对象但是,JavaScript的数据类型分成原始类型(primitive)和合成类型(complex)两大类Brendan Eich觉得表示"无"的值最好不是对象。

其次JavaScript嘚最初版本没有包括错误处理机制,发生数据类型不匹配时往往是自动转换类型或者默默地失败。Brendan Eich觉得如果null自动转为0,很不容易发现錯误

JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值转为数值时为NaN。


但是上面这样的区分,在实践中很快就被证明不可行目前,null和undefined基本是同义的只有一些细微的差别。

null表示"没有对象"即该处不应该有值。典型用法是:

(1) 莋为函数的参数表示该函数的参数不是对象。

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


undefined表示"缺少值",就是此处应该有一个值但是还没有定义。典型用法是:

(1)变量被声明了但没有赋值时,就等于undefined

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

(3)对象没有赋值的属性该属性的值为undefined。

(4)函数没有返回值时默认返回undefined。


  我们平时在上网时刷微博、个人空间、打游戏时经常会遇到undefined错误提示。很多人都不知道undefined什么意思?更别提出现这样的情况如何解决了?下面就针对这个问题详细介绍下:

  在高级程序设计语言设计应用程序时用于指示变量尚未用单等号进行赋值(常量未定义)。

  1、百度贴吧大家都不陌生我们打开┅个百度贴吧,单击右上方“签到”画面中弹出了“签到失败,undefined”

  2、鼠标移到框右上角的X,单击先关闭它

  3、通过查询我们發现,“undefined”的意思是不能确定的原因或未知的原因(所以我们从字面也无法得到错误提示,只能按常规分析原因了)

  4、我们初步分析,是打开的这个百度网站没有连接到获取到百度数据库反馈的信息我们按键盘上的“F5”,重新刷新打开/载入这个页面试试

  5、如果還是出现“undefined”错误提示,那么推断应该是浏览器问题了浏览器假死,或程序崩溃我们复制这个贴吧的百度网址一下。

  6、关掉当前瀏览器重新打开浏览器,粘贴刚复制这个贴吧的百度网址并访问一下

  7、很顺利,画面直接弹出了“已签到”问题解决。结论:問题是百度已经接收到签到命令但是反馈到web页面过程被中断,所以我们的页面出现“undefined”错误这是浏览器的责任。

  undefined什么意思?以上就昰对undefined的详细介绍和解决方法简单的说一般undefined问题只有2方面:1网站服务器2浏览器本地问题。

我要回帖

更多关于 N7 的文章

 

随机推荐