位置: 编程技术 - 正文

详解JavaScript中undefined与null的区别(js unload)

编辑:rootadmin

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

一、相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。

上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。

上面代码说明,两者的行为是何等相似!既然undefined和null的含义与用法都差不多,为什么要同时设置两个这样的值,这不是无端增加JavaScript的复杂度,令初学者困扰吗?Google公司开发的JavaScript语言的替代品Dart语言,就明确规定只有null,没有undefined!二、历史原因最近,我在读新书《Speaking JavaScript》时,意外发现了这个问题的答案!原来,这与JavaScript的历史有关。年JavaScript诞生时,最初像Java一样,只设置了null作为表示"无"的值。根据C语言的传统,null被设计成可以自动转为0。

但是,JavaScript的设计者Brendan Eich,觉得这样做还不够,有两个原因。首先,null像在Java里一样,被当成一个对象。

但是,JavaScript的数据类型分成原始类型(primitive)和合成类型(complex)两大类,Brendan Eich觉得表示"无"的值最好不是对象。其次,JavaScript的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往是自动转换类型或者默默地失败。Brendan Eich觉得,如果null自动转为0,很不容易发现错误。因此,Brendan Eich又设计了一个undefined。三、最初设计JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

四、目前的用法但是,上面这样的区分,在实践中很快就被证明不可行。目前,null和undefined基本是同义的,只有一些细微的差别。null表示"没有对象",即该处不应该有值。典型用法是:(1) 作为函数的参数,表示该函数的参数不是对象。(2) 作为对象原型链的终点。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:(1)变量被声明了,但没有赋值时,就等于undefined。(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。(3)对象没有赋值的属性,该属性的值为undefined。(4)函数没有返回值时,默认返回undefined。

推荐整理分享详解JavaScript中undefined与null的区别(js unload),希望有所帮助,仅作参考,欢迎阅读内容。

详解JavaScript中undefined与null的区别(js unload)

文章相关热门搜索词:javascript ul,js unload,js un,js中unbind,javascript undefine,js un,js unload,js中unbind,内容如对您有帮助,希望把文章链接给更多的朋友!

js原型继承的两种方法对比介绍 在实际的项目中,我们通常都是用构造函数来创建一个对象,再将一些常用的方法添加到其原型对象上。最后要么直接实例化该对象,要么将它作为父

JavaScript对象的property属性详解 JavaScript中对象的property有三个属性:1.writable。该property是否可写。2.enumerable。当使用for/in语句时,该property是否会被枚举。3.configurable。该property的属性

深入理解javascript的执行顺序 如果你不能理解javaScript语言的运行机制,或者简单地说,你不能掌握javascript的执行顺序,那你就犹如伯乐驾驭不了千里马,让千里马脱缰而出,四处乱

标签: js unload

本文链接地址:https://www.jiuchutong.com/biancheng/373759.html 转载请保留说明!

上一篇:javascript内置对象arguments详解(javascript内置对象应用团购)

下一篇:js原型继承的两种方法对比介绍(js原型继承和构造继承)

  • 个体户定期定额征收标准
  • 企业所得税汇算清缴
  • 所得税五个年度怎么算
  • 实收资本印花税是营业账簿吗
  • 增值税发票税控开票软件怎么下载
  • 工程施工的借方和贷方
  • 进项税额转出冲红
  • 一般纳税人加计抵减申报表怎么填
  • 未取得发票的收入怎么做账
  • 研发试制的样机属于固定资产吗
  • 固定资产当月入账下月计提折旧
  • 个人给公司垫付款起诉状
  • 付款方式公对公什么意思
  • 并购对利润的影响
  • 公司外部人员可以直接在公司报销吗
  • 营改增之后对企业的影响
  • 公司成立多久费用可进开办费
  • 给职工买的意外险怎么做账
  • 印花税的计税依据怎么算含税还是不含税
  • 小规模商贸公司成本核算方法
  • 发票申请需要多久
  • 金税服务费会计分录
  • 税前可以扣除的业务招待费怎么算
  • 社会保险费缴费凭据在哪查
  • 固定资产未开发票怎么入账
  • 技术合同指什么
  • php数组函数实现机选双色球
  • linux系统备份整个硬盘的命令
  • 出口退税如何办退税手续
  • 中央公园商场
  • 长期股权投资的账面价值怎么计算
  • php二维数组按某个键值排序
  • 浅谈一下新冠的好处
  • 企业出租房屋怎么做账
  • php记录页面停留多久
  • nginx部署前后端项目
  • php array_fill
  • php自动载入文件的函数
  • php5.6漏洞
  • tsop封装
  • 现金流量表期初现金余额怎么计算
  • 摊销结束后
  • 织梦怎么改网站主页
  • 增值税是如何计算的
  • 固定资产清理净损益怎么计算出来的
  • 当期可抵扣进项税额包括进项转出额吗
  • 用友t3建立新的帐套的流程
  • access数据库丢失原因
  • 产业增加值是增长量吗
  • 清洁费用属于哪个会计科目
  • 研发费用辅助账怎么做
  • 普通发票的进项票怎么做分录
  • 货物出口销售确认流程
  • 建筑行业工程施工当月可以不结转吗
  • 已付款未收到货怎么办
  • 公司车过户给个人多久不用补税
  • 新建厂房费用可以直接计入管理费用么
  • 提前报废固定资产会导致账面价值减少吗
  • 小规模纳税人销售自己使用过固定资产
  • 2020年账簿印花税减免政策
  • 待处理财产损溢借贷反向
  • 业务招待费包含样品费吗
  • mysql密码忘记怎么办
  • window7临时文件
  • windows 9x
  • calctool
  • win8删除所有内容并重新安装windows
  • win10显示win8
  • win10系统中怎么删除日志文件
  • jquery设置滚动条
  • unity 3d脚本编程
  • 查找的算法有哪些
  • androidday3
  • 公司信用等级b级是什么意思
  • 盐城城南新区的邮政编码是多少号
  • 残疾人保障金如何填报
  • 云南人社12333app官网
  • 江西公安电子证件
  • 电子缴款凭证可以用于报销吗
  • 房地产的土地增值税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设