我经常使用&#34;对象&#34;上可用的不同方法。在javascript中(例如#import <AFNetworking/AFNetworking.h>
,Object.create(null)
等。)
但是我并不完全理解Object究竟是什么。我用Firebug看了一下,在输入Object.hasOwnProperty(...)
时说:
Object
这是有道理的,因为我可以将它用作构造函数来创建一个新的对象:function Object() { [native code] }
但如果new Object()
是一个函数,那么它在说出来的时间里怎么能有方法?
我理解这一点的方式是,在调用时,请说Object
,Object.create(null)
是一个应用于create
函数的函数。这是真的吗?
一些澄清将不胜感激。
答案 0 :(得分:1)
但是我并不完全理解Object究竟是什么。
是defined in the specification。
但是如果Object是一个函数,那么在说出来的时候它怎么能有方法?
在JavaScript中,所有函数都是对象。对象可以具有属性。属性有值。函数可以是值。
function myFunction () {
return 1;
}
myFunction.myMethod = function myMethod() {
return 2;
}
document.body.appendChild(document.createTextNode(myFunction()));
document.body.appendChild(document.createTextNode(myFunction.myMethod()));
我理解这一点的方式是,当调用let表示Object.create(null)时,create是一个应用于Object函数的函数。这是真的吗?
从create
函数内部来看,this
的值为Object
:是。