我可以肯定它们是不一样的了,因为我今天在一个操作里用var O=new Object()的时候出错了,后来换成了var O={}就好了
搞不懂为什么
12 个解决方案
#1
应该有地方重定义Object了
#2
高深知识`````呵呵
#3
重定义Object?
是什么情况呢?怎么样才能出现重定义的情况?
是什么情况呢?怎么样才能出现重定义的情况?
#4
up
#5
把相关的代码贴出来,只这样讲没什么意义!
#6
这两个效果是一样的。
跟
var arrayA=new Array();
var arrayB=[];
一样
跟
var arrayA=new Array();
var arrayB=[];
一样
#7
重定义:
function Object(){
this.message = "test";
}
Object.prototype.alert = function(){
alert(this.message);
}
var _obj = new Object();
_obj.alert();
function Object(){
this.message = "test";
}
Object.prototype.alert = function(){
alert(this.message);
}
var _obj = new Object();
_obj.alert();
#8
var o ={} === var o = new Object();
var a =[] === var a = new Array();
over!
var a =[] === var a = new Array();
over!
#9
搞清楚了!谢谢rob123与hbhbhbhbhb1021提醒
是重定义Object的问题,例子如下
Object = "aa";
var a = new Object(); //出错
var a = {}; //不出错
-------------------------------
唉,出现上面的错误因为是在改别人代码,我今天把它们全部拿出来一行一行的删来调试,最后发现原来写这代码的人居然在一处地方用了Object做变量,才导致了这种情况........................
郁闷死我了!@$$%@#$!@#!@#!
不过从中也发现,其实var o ={}的写法比var o = new Object();的写法好!因为不怕Object不小心被重定义了.
因为 var {} = "a"; 的写法是不行的,呵呵
所以建议大家都用var o ={}定义对象,免得被折腾....^_^
是重定义Object的问题,例子如下
Object = "aa";
var a = new Object(); //出错
var a = {}; //不出错
-------------------------------
唉,出现上面的错误因为是在改别人代码,我今天把它们全部拿出来一行一行的删来调试,最后发现原来写这代码的人居然在一处地方用了Object做变量,才导致了这种情况........................
郁闷死我了!@$$%@#$!@#!@#!
不过从中也发现,其实var o ={}的写法比var o = new Object();的写法好!因为不怕Object不小心被重定义了.
因为 var {} = "a"; 的写法是不行的,呵呵
所以建议大家都用var o ={}定义对象,免得被折腾....^_^
#10
两者没有区别,除非Object被改写了。
至于说那种方式好,要看你的用途。例如在一些侵入式的js框架中,写成new Object()是为了获得一些额外方法,但在创建对象用作map的时候,则用{},这样for in的时候不会枚举到那些额外的property。
至于说那种方式好,要看你的用途。例如在一些侵入式的js框架中,写成new Object()是为了获得一些额外方法,但在创建对象用作map的时候,则用{},这样for in的时候不会枚举到那些额外的property。
#11
var O=new Object() ; //新创建一个对象
var O={} ;//赋值语句 初始化一个空对象
两者之间没有本质的区别的;
也就等价于new Array()和【】
var O={} ;//赋值语句 初始化一个空对象
两者之间没有本质的区别的;
也就等价于new Array()和【】
#12
to hax(海曦)
你这样说的应该是最准确的了
我的经验还不够丰富,学习!
姜还是老的辣啊^_^
你这样说的应该是最准确的了
我的经验还不够丰富,学习!
姜还是老的辣啊^_^
#1
应该有地方重定义Object了
#2
高深知识`````呵呵
#3
重定义Object?
是什么情况呢?怎么样才能出现重定义的情况?
是什么情况呢?怎么样才能出现重定义的情况?
#4
up
#5
把相关的代码贴出来,只这样讲没什么意义!
#6
这两个效果是一样的。
跟
var arrayA=new Array();
var arrayB=[];
一样
跟
var arrayA=new Array();
var arrayB=[];
一样
#7
重定义:
function Object(){
this.message = "test";
}
Object.prototype.alert = function(){
alert(this.message);
}
var _obj = new Object();
_obj.alert();
function Object(){
this.message = "test";
}
Object.prototype.alert = function(){
alert(this.message);
}
var _obj = new Object();
_obj.alert();
#8
var o ={} === var o = new Object();
var a =[] === var a = new Array();
over!
var a =[] === var a = new Array();
over!
#9
搞清楚了!谢谢rob123与hbhbhbhbhb1021提醒
是重定义Object的问题,例子如下
Object = "aa";
var a = new Object(); //出错
var a = {}; //不出错
-------------------------------
唉,出现上面的错误因为是在改别人代码,我今天把它们全部拿出来一行一行的删来调试,最后发现原来写这代码的人居然在一处地方用了Object做变量,才导致了这种情况........................
郁闷死我了!@$$%@#$!@#!@#!
不过从中也发现,其实var o ={}的写法比var o = new Object();的写法好!因为不怕Object不小心被重定义了.
因为 var {} = "a"; 的写法是不行的,呵呵
所以建议大家都用var o ={}定义对象,免得被折腾....^_^
是重定义Object的问题,例子如下
Object = "aa";
var a = new Object(); //出错
var a = {}; //不出错
-------------------------------
唉,出现上面的错误因为是在改别人代码,我今天把它们全部拿出来一行一行的删来调试,最后发现原来写这代码的人居然在一处地方用了Object做变量,才导致了这种情况........................
郁闷死我了!@$$%@#$!@#!@#!
不过从中也发现,其实var o ={}的写法比var o = new Object();的写法好!因为不怕Object不小心被重定义了.
因为 var {} = "a"; 的写法是不行的,呵呵
所以建议大家都用var o ={}定义对象,免得被折腾....^_^
#10
两者没有区别,除非Object被改写了。
至于说那种方式好,要看你的用途。例如在一些侵入式的js框架中,写成new Object()是为了获得一些额外方法,但在创建对象用作map的时候,则用{},这样for in的时候不会枚举到那些额外的property。
至于说那种方式好,要看你的用途。例如在一些侵入式的js框架中,写成new Object()是为了获得一些额外方法,但在创建对象用作map的时候,则用{},这样for in的时候不会枚举到那些额外的property。
#11
var O=new Object() ; //新创建一个对象
var O={} ;//赋值语句 初始化一个空对象
两者之间没有本质的区别的;
也就等价于new Array()和【】
var O={} ;//赋值语句 初始化一个空对象
两者之间没有本质的区别的;
也就等价于new Array()和【】
#12
to hax(海曦)
你这样说的应该是最准确的了
我的经验还不够丰富,学习!
姜还是老的辣啊^_^
你这样说的应该是最准确的了
我的经验还不够丰富,学习!
姜还是老的辣啊^_^