Javascript对象方法语法声明

Javascript Declaration of Object Method Syntax

本文关键字:声明 语法 方法 对象 Javascript      更新时间:2023-09-26

我仍然是JavaScript的新手,我注意到方法定义方式的一些差异(语法只是我希望)。

一些(根据http://www.w3schools.com/js/js_object_methods.asp)被定义为

MyObj = function(){
    myMethod: function(){...}
}

而其他时候它们可以定义为

MyObj = function(){
    function myMethod(){...}
}

我希望这只是做同一件事的两种不同方式,也以相同的方式处理(和内部表示)。

是这样吗?

是否允许以与类(如

)相同的模式编写方法?
MyObj = function(){
    myMethod = function(){...}
}

你的两个例子都不正确。我猜你的意思是:

MyObj = {
    myMethod: function(){/*...*/}
};

MyObj.myMethod = function myMethod(){/*...*/};
// or
MyObj.myMethod = function(){/*...*/};

在第一个示例中,使用对象初始化器创建对象并将其赋值给变量MyObj。一个对象初始化器由一系列propertyName: propertyValue形式的属性初始化器组成。在这个例子中,属性名是myMethod,属性值是一个匿名函数声明。

在第二个例子中,对象已经存在,我们只是使用普通赋值表达式向现有对象添加属性。

在这两种情况下,是的,您最终会得到一个称为myMethod的属性,该属性指向一个函数。