中易网

JS中var abc = new Number(68);与var abc = 68;有什么本质上的区别吗?

答案:4  悬赏:30  
解决时间 2021-02-22 11:02
JS中var abc = new Number(68);与var abc = 68;有什么本质上的区别吗?
最佳答案
本质区别就是:类型不同
前者是返回的是一个object,后者返回一个number。
typeof new Number(6);   //object
typeof 68; //number
全部回答
我看w3schoolECMAScript教程看完了声明变量正看ECMAScript 引用类型据说引用类型般被称类(class)我感觉好开心终于接触类了正我想学内容问题下面都var o = new Object();var oFalseObject = new Boolean(false);之类格式感觉和声明变量像啊回事
new的是引用类型,与直接量是不一样的,一个是值存储在堆里面,一个是值存储在栈里面的,执行效率也是不一样的

的确是很像
js中的语法决定
var a ; 声明一个变量,  而不像java中需要类名声明,如 Object a;
 
js关键字new 等同java中的new
var a = new Object();

       等同java的  Object a = new Object();
 
  所以只要分清楚各语言的语法就行,记住new 是实例化一个对象
 
var abc = new Number(68)和var abc = 68 没太多区别
var abc = new Number(68)指定了实例化类对象,即Number
var abc = 68,指实例化一个对象,abc,其值为68,由于js是弱对象,所以js引擎在给abc赋值时,会判断“68”是一个整数,因此会将abc转换成一个Number对象
 
var abc1 = new Number(68)
var abc2 = 68
var abc3 = '68'
alert(typeof(abc1))
alert(typeof(abc2))
alert(typeof(abc3))
结果为
Number
Number
String追答
追问:您的意思是说,
var a = 10;
并没有对a实例化。
var a = new Number(10);
是对a实例化了?
追答:都实例化了
var a = 10;有js帮你实例化

typeof()返回的就是他的类(class)型
追问:那么说它们是一样的,那为什么w3school要把它们分开来说啊...
追答:机制稍稍不一样,我上面也说明了

w3school 分开说,就是怕人不清楚
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三星手机显然touchwin什么意思啊而且进不到菜
5000平方毫米,5平方厘米,0.05平方米,5平方千
建城永盛别墅区一期怎么去啊,有知道地址的么
剑灵修改了分辨率 崩溃问题
徐工八吨随车吊伸缩腿油封行号多少
走投无路了急需用钱怎么办
帮忙对对子
外伤能吃鸡肉吗
下菜市路/环城东路(路口)在什么地方啊,我要
考不上大学的女生学什么用短时间拿下证书,好
我想要用那种长气球拧成一个心,求帮忙带图片
flash as3 怎么让一个元件在舞台范围内随机移
彩虹宝贝在什么地方啊,我要过去处理事情
怎么让WORD里面某些页没有页眉页脚啊。其他页
求VBS代码:每过110秒按一次G键,无限循环。
推荐资讯
铁山廉租房交房时间
广州市明浩运输有限公司地址有知道的么?有点
每天人长时间在烤箱内皮肤会不会不好
《小巷深处》怎么分段,段意
子官后位是什么意思
加加爱母婴生活馆地址在什么地方,想过去办事
prestige是什么意思
兴安盟老干部活动中心地址在什么地方,想过去
damien rice 的back to beginning ,歌词
赛多利斯科学仪器(北京)公司西安办事处地址有
我想问:D:\mydocaments\cookies\中,cookies
酷派宠物馆我想知道这个在什么地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?