Javascript 定义方法

标签 javascript

在像 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/

相关文章:

javascript - Jquery - 选择选项时填写输入文本

javascript - 不使用 eval 迭代 json 对象?

javascript - 使用 ReactJS 将数据从一个组件传递到另一个组件

javascript - 嵌入来自 tiktok 的视频

javascript - 使用 JavaScript 调整 HTML 多个全宽视频的大小

javascript - 如何获取我的表单的 Javascript 错误函数以取消表单提交并插入错误消息?

javascript - 边缘检测和去除

javascript - Javascript 中数组索引不会越界

javascript - AngularJS 日期过滤器不产生结果

javascript - 当我将 $resource query() 的结果分配给我的 Controller 属性时,为什么它是 'undefined'?