new Object();的含义是什么?

低头思蚊香 2012-04-15 09:21:47
new Object();的含义是什么?感觉有两种解释:
1.创建一个Object对象。
2.创建一个Object对象并将其传入Object()函数中。

应该是这两种解释的哪一种?还是有其他的解释?Java中又是哪种解释?不要只说结论,最好给出例子证明一下,或者说出结论的出处。
...全文
8875 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
色拉油 2012-04-24
  • 打赏
  • 举报
回复
创建匿名对象
想念旧时光 2012-04-24
  • 打赏
  • 举报
回复
创建一个对象。
叶飘尾 2012-04-24
  • 打赏
  • 举报
回复
一般我js new Object() 是创建一个字典集合用。

var a=
{
"a":10,
"b":"sb"
}
xiaomeimei_2011 2012-04-23
  • 打赏
  • 举报
回复
A B = new A(this)
A = new B(this)
A = newB();
从后往前说。最后一种写法如果是创建对象,那么语法是错误的。如果编译没错,那么A应该是一个已声明的变量,newB()是一个方法,调用newB()会返回一个值,将这个值赋给变量A。
第二种情况,如果前面没有语句,那么语法是错误的。如果前面已经将A声明为一个变量,那么这句话正确。
第一种情况下,如果没有导入B类,仅是把B当做一个变量名,那么语句正确。传的this是一个指向自己的引用。这句话是利用自身对象来创建一个新对象,那么可以预见,新对象中的各项值应该与自身对象是相同的。这句话与子类没有关系
ABCDEF 2012-04-23
  • 打赏
  • 举报
回复
js Object 与 Java 的Object 类一样包含很多已经定义好的方法
例:
function user(userName,sex){
this.userName=userName;
this.sex=sex;
}
function test1(){
var obj = new user("tom",15);
alert(obj.userName);
}
与java的oop思想相同!
豪情 2012-04-23
  • 打赏
  • 举报
回复
因为掌握知识点,根据你当前的需要,再去了解会事半功倍,你是带着问题去找答案的。
豪情 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]

引用 17 楼 的回复:

这是js有别于其它语言的地方,也是js语言的难点,这点搞懂了,基本算是入门了。


Object对象和原型是一回事吗?一个对象和这个对象的原型,两者的关系是什么?高手能解释下吗?
[/Quote]
这是一个深远还丑长的话题,有的书上化了一个章节来解释这个问题。三言两语真难说清楚,初学者也很难快速的掌握。
对于这个知识点,我建议暂时弄不明白先放过,看看其它的,比如dom,dom的增删改,或通过写一些简单的例子掌握基本的概念。等你写的代码,需要高度抽象或在量上达到一个难以控制的程度时候,再来看看这块,或许有种豁然开朗的感觉,或者整体对js的认识高度提到 达到了这个层面,到时候看起来比现在肯定容易多,也深刻的多。因为掌握知识点,因为你当前的需求,你在去了解会事业功倍。你是带着问题去找答案。
目前,如果你想暂时了解一下:
看看这个:
http://www.cnblogs.com/jikey/archive/2011/05/13/2045005.html
或js权威指南第五版,第九章:类,构造函数和原型。
低头思蚊香 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

这是js有别于其它语言的地方,也是js语言的难点,这点搞懂了,基本算是入门了。

[/Quote]
Object对象和原型是一回事吗?一个对象和这个对象的原型,两者的关系是什么?高手能解释下吗?
未知数 2012-04-18
  • 打赏
  • 举报
回复
和你自己写的构造方法一回事
和调用任意函数生成一个对象一回事

含义就是使用Object函数构造一个对象
低头思蚊香 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

简单的,差不多就这样,不包含protetype

var o = {}
Object.call(o)
[/Quote]
高手var o = {}这句话是什么意思啊,为什么会创建了一个Object对象?能详细解释下吗?
挨踢直男 2012-04-17
  • 打赏
  • 举报
回复
简单的,差不多就这样,不包含protetype

var o = {}
Object.call(o)
豪情 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 9 楼 的回复:

严格的说,是根据js提供的Object模板创建了一个实例,继承了Object的所有方法。这个实例的构造函数是Object();
进一步说:
只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性。在默认的情况下,所有的prototype属性都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype……
[/Quote]
这是js有别于其它语言的地方,也是js语言的难点,这点搞懂了,基本算是入门了。
低头思蚊香 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

严格的说,是根据js提供的Object模板创建了一个实例,继承了Object的所有方法。这个实例的构造函数是Object();
进一步说:
只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性。在默认的情况下,所有的prototype属性都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针。
创建了自……
[/Quote]
貌似说道点上了,但表示没有看懂。。
低头思蚊香 2012-04-17
  • 打赏
  • 举报
回复
把一个对象交给Object函数处理貌似什么变化也没有。。

var o = ["red","blue"];
alert(o);//red,blue
Object.call(o);
alert(o);//red,blue
低头思蚊香 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

http://www.w3school.com.cn/js/pro_js_referencetypes.asp
[/Quote]
这不就是JavaScript高级程序设计(第一版)。。这书我没事干就翻。。
豪情 2012-04-17
  • 打赏
  • 举报
回复
严格的说,是根据js提供的Object模板创建了一个实例,继承了Object的所有方法。这个实例的构造函数是Object();
进一步说:
只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性。在默认的情况下,所有的prototype属性都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针。
创建了自定义的构造函数之后,其原型属性默认只会取得constructor属性; 至于其他方法,则都是从Object继承而来。当调用构造函数创建一个新实例后,该实例的内部将包含一个指针,指向构造函数的原型属性。在很多实现中,这个属性的名字是__proto__,而且通过脚本可以访问到(在非IE,opera浏览器中是不可见的)。不过最重要的是这个连接存在于实例与构造函数的原型属性之间,而不是存在于实例与构造函数之间。
详细点说:
http://www.cnblogs.com/jikey/archive/2011/05/13/2045005.html
IT-Style 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

var o = {}
其实是 var o = new Object();
的简写形式。
他创建的实例。
还有一种简写是数组的:var arr = []; var arr = new Array();
[/Quote]
学习了...
豪情 2012-04-17
  • 打赏
  • 举报
回复
var o = {}
其实是 var o = new Object();
的简写形式。
他创建的实例。
还有一种简写是数组的:var arr = []; var arr = new Array();
Acesidonu 2012-04-16
  • 打赏
  • 举报
回复
创建一个Object对象
不清楚的话找本书看。
要不你能断定谁说的对。
加载更多回复(6)

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧