什么是javascript"对象"?

时间:2016-05-25 10:51:15

标签: javascript

我经常使用&#34;对象&#34;上可用的不同方法。在javascript中(例如#import <AFNetworking/AFNetworking.h> Object.create(null)等。)

但是我并不完全理解Object究竟是什么。我用Firebug看了一下,在输入Object.hasOwnProperty(...)时说:

Object

这是有道理的,因为我可以将它用作构造函数来创建一个新的对象:function Object() { [native code] }

但如果new Object()是一个函数,那么它在说出来的时间里怎么能有方法?

我理解这一点的方式是,在调用时,请说ObjectObject.create(null)是一个应用于create函数的函数。这是真的吗?

一些澄清将不胜感激。

1 个答案:

答案 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:是。