我只想巩固(确切知道)什么是js对象,方法和属性。这是我自己的观点,但我很少有疑问,这就是为什么我在这里知道并证明我需要的是真的。
var property= "is this a property?";
function method(){"is this a method?"};
var ObjectLiteral = {property:"this should be a property of this ObjectLiteral I guess", method:function(){"this should be a method of ObjectLiteral am I right?"}};
//Here is the cache:
var Cachie = {method : function SecondObject(){/*nothing in here just a regular function or object*/},objecto:function(){alert("is this a method or object of Cachie object if so methods and properties are functions and variables")}};
Cachie.objecto();//than what is objecto related to Cachie and what is objecto called related Cachie is it an object of Cachie by the way, or is just simply called an object and nothing else of Cachie whatsoever?
答案 0 :(得分:1)
事实上,在Javascript中,对象文字是一对零的或多对属性名称和对象的关联值的列表,用花括号({})括起来。
您可以查看The MDN Specification for Object Literals以获取更多信息。
在你的情况下,如果你写:
var Cachie = {method : function SecondObject(){/*nothing in here just a regular function or object*/},objecto:function(){alert("is this a method or object of Cachie object if so methods and properties are functions and variables")}};
Cachie.objecto();
意味着:
您有一个名为Cachie
的文字对象,其中包含两个属性:method
和objecto
,这些函数在这里是为了回答您的问题 与objecto相关的内容Cachie? ,objecto
是Cachie
对象的函数和属性。
因此,当您致电Cachie.objecto()
时,您只是在对象objecto
的属性Cachie
中调用函数hold。
答案 1 :(得分:0)
这是一个变量
var property
这是一个函数声明
function method() { };
这是一个object类型的变量(以JSON格式声明),有2个属性。
var obj = {
property: "",
method: function() {}
};
同样的事情可以写成这样,当然不是JSON:
var obj = new Object();
obj.property = "";
obj.method = function() {};
或者
var obj = new function() {
this.property = "";
this.method = function() {};
}
等等,还有其他方法。
您的其他示例与上述相同,例如,呼叫obj.method()
。 method
是obj
的成员,它是一个对象,成员的类型为function
。您可以致电typeof(obj.method)
进行测试,并返回'function'
。