Javascript属性和/或方法中的toString()
和toLocaleString()
是否在Object
中定义?
如果不是两者,这意味着什么:
var person1 : {
toString = function(){
return "Hello";
},
toLocaleString : {
return "Halo";
}
};
答案 0 :(得分:1)
对象可以有方法和属性。属性基本上是变量,方法是函数。在Javascript中,情况更有趣,因为变量可以保存一个函数。但是,如果您在对象中具有属性作为属性,则它们被视为方法。
因此在您的示例中,toString和toLocaleString都是方法。
如果您有兴趣,请参阅以下资源:
答案 1 :(得分:1)
对于所有JavaScript对象,“toString”和“toLocaleString”属性的值应该是一个函数,它将被调用以检索对象的字符串表示。
您的示例代码存在一些问题,请参阅下面的更正:
var person1 = { // Assign a new literal object to "person1"
toString: function() { // With property "toString" as a function...
return "Hello";
},
toLocaleString: function() { // ...and "toLocaleString" as a function.
return "Halo";
}
};
为了回答我认为你的问题标题所暗示的内容,JavaScript中“方法”的概念并不存在。也就是说,函数只是函数,并且“this”对象直到函数调用时才被绑定,因此没有对象“拥有”函数作为方法的概念,它可能恰好具有属性其价值观是方法。