在像 o.x 和 o.y 这样的对象上定义方法有什么区别?
o = {
x: function () {
console.log('hi')
},
y () {
console.log('bye')
}
}
最佳答案
y() {
语法通常称为方法。
现代环境中唯一真正的区别是方法不能用 new
实例化,但是 function
可以:
const o = {
x: function () {
console.log('hi')
},
y () {
console.log('bye')
}
};
new o.x();
new o.y();
Uncaught TypeError: o.y is not a constructor @ JS line 11
不过,这是 ES2015 语法。像 IE11 这样的古老环境不支持方法语法(或箭头函数,或许多其他好东西)。
关于Javascript 定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61994053/