概述
在web前端工作项目中经常遇到null和undefined,虽然知道它们俩都表示“空”,但是具体的区别还是挺模糊的,大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。JavaScript语言居然有两个表示"无"的值:undefined和null。web前端学习中null和undefined的区别
null 1995年JavaScript诞生之初,像Java一样,只设置了null表示“什么都没有”,因此和Java一样,(1) null被当成一个对象;(2) null可以自动转化为0;是一个表示“无”的对象, 转为数值时为O; undefined 是一个表示“元”的原始千直, 转为主丈千直时为NaN 。当声明的变量还未初始化时,变量的默认值为undefined ,null 用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。代表“空值”,代表一个空对象指针,会用typeof运算得到 "object" ,所以,可以认为null为一个特殊的对象。
undefined 表示“缺少值”,后来JS的设计者Brendan Eich认为“无”的值最好不是对象,且由于null自动转化为0,因此造成错误不易被发现。因此,Brendan Eich又设计了一个undefined,表示“缺少值”,即此处应有一个值,但还没有定义;转为数值时为NaN(非数字值的特殊值) 即此处应该有一个值,但是还没有定义,典型用法是如下。
如果变量声明了,但没有赋值,它就等于undefined 。当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined 。如果对象没有赋值,该属性的值为undefined 。
当函数没有返回值时, 默认返回undefined 。null 表示“ 没有对象” , 即此处不应该有值,典型用法是作为函数的参数, 表示该函数的参数不是对象。作为对象原型链的终点。
欢迎大家在评论区评论留言,小编会及时给大家解答疑惑的
最后
以上就是拼搏云朵为你收集整理的一元流量参数为null_web前端学习中null和undefined的区别的全部内容,希望文章能够帮你解决一元流量参数为null_web前端学习中null和undefined的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复