永发信息网

为什么高手直接写!=null 即可而菜鸟总要写一堆

答案:1  悬赏:50  手机版
解决时间 2021-02-05 16:52
为什么高手直接写!=null 即可而菜鸟总要写一堆
最佳答案
先说说undefined:
Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的时候只需使用var关键字即可。如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0。但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样的默认值,比如我声明一个变量
var v1;
是给他false还是0,或者是'' ?
因为没有类型,所以无法确定。 在Javascript中对于这种生命后没有给定初始值的变量,就给他一个undefined。不过前提是这个变量必须已经声明,如果对于没有声明过的标识符,就会出错。

再来说说null,Javscript有几个基本类型,Number,String,Boolean,Object。对于Object 类型的变量,他有两种情况,一种是他是一个对象的实例,另一种他是一个空引用null,熟悉类似Java这样面向对象语言的朋友应该很容易理解。对于这两种情况,他们的类型都是Object。Javascript中的变量,在给他赋值的时候,才
会确定它的类型。

可以看到,null在 Javascript中代表一个特殊的Object类型的值,他用来表示空引用的概念,如果要将一个标识符声明称object类型,但是暂时不给他实例,那么就可以将它先初始化为null,以便以后使用。
不一定绝对正确,简单来说,对于所有变量,只要声明后还没有指定初始值 ,那么他就是undefined,如果是Object类型用来表示空引用的概念,那么就是用null来表示。
下面是一些补充:
null :表示无值;
undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

而一般写过几年代码的人,在声明变量的同时都会赋值上初始值,判断语句的时候就不需要判断undefined;

而判断Object=""一般都用来判断字符串是否为空,""表示它指向一个长度为0的字符串,这时候调用它的方法是安全的。如果为其他类型的变量,这个判断可以删除!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是安徽省固镇县本地人,现在外打工,每月可结
城关派出所巡逻防控大队地址有知道的么?有点
高考513分能报哪些学校?
本田xrv导航怎么开车时不能播放
西区吉康美食怎么去啊,有知道地址的么
为什么我都单身5年了,我每天都做梦,每天梦
雕鹗派出所地址有知道的么?有点事想过去
用完消穈栓后下体掉出像薄膜状肉一样的东西是
上面一横下面一个自再下面一个乔少头上一撇念
玩CF卡需要换什么东西
公关稿件如何规范撰写
赤城县东卯派出所地址在哪,我要去那里办事
南宁市国土局地址有知道的么?有点事想过去
冰箱不小心停电了,留到地上的臭水弄得满屋子
该患者临床表现不具备的特点是A.交替脉B.肝颈
推荐资讯
深海中真的有那种头上吊着个灯,牙齿很锋利的
迎新送旧的意思是什么啊?知道的请说下!
【描写说的成语】表示说的成语
DNF狂战为什么要堆火强?我看到很多带无属性
黄岩现在考驾照要多少钱啊
wwe 约翰塞纳 的粉丝有多少??
碎剐凌迟的意思是什么啊?知道的请说下!
西地在哪里啊,我有事要去这个地方
滴滴拒绝履行处罚将面临什么
门荫的意思是什么啊?知道的请说下!
吉林交通职业技术学院-1号女生公寓楼地址在什
邢台育才中学怎样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?