Javascript 函数的赋值运算符

Javascript 函数的赋值运算符,javascript,Javascript,我在理解赋值运算符在处理方法、函数等时的用途时遇到了一些困难。下面是w3学校定义对象的示例 function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.eyecolor=eyecolor; this.newlastname=newlastname; } 这就是实际的功能(放在其他地方) 你说,整个javascript对我来说都很奇怪 object.methodname = somefunct

我在理解赋值运算符在处理方法、函数等时的用途时遇到了一些困难。下面是w3学校定义对象的示例

function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.eyecolor=eyecolor;

this.newlastname=newlastname;
}
这就是实际的功能(放在其他地方)

你说,整个javascript对我来说都很奇怪

object.methodname = somefunctionname

有什么想法可以帮助我将其概念化吗?

您问题中的代码实际上与此相同:

function person(firstname, lastname, age, eyecolor) {
    this.firstname = firstname;
    this.eyecolor = eyecolor;

    //anonymous function assigned to newlastname property
    this.newlastname = function(new_lastname) {
        this.lastname = new_lastname;
    };
}
person
是一个构造函数(您可以使用
new
操作符调用它来创建一个新实例)。
person
的每个实例都有三个属性,
firstname
eyecolor
newlastname

newlastname
属性是一个方法,因为它的值是一个函数。调用该方法时,调用该方法的
person
实例将获得
lastname
属性

例如:

var me = new person("James", "Allardice", 22, "Brown");
me.lastname; //undefined
me.newlastname("Something");
me.lastname; //Something

这是可能的,因为在JavaScript中,函数是对象。

问题中的代码实际上与此相同:

function person(firstname, lastname, age, eyecolor) {
    this.firstname = firstname;
    this.eyecolor = eyecolor;

    //anonymous function assigned to newlastname property
    this.newlastname = function(new_lastname) {
        this.lastname = new_lastname;
    };
}
person
是一个构造函数(您可以使用
new
操作符调用它来创建一个新实例)。
person
的每个实例都有三个属性,
firstname
eyecolor
newlastname

newlastname
属性是一个方法,因为它的值是一个函数。调用该方法时,调用该方法的
person
实例将获得
lastname
属性

例如:

var me = new person("James", "Allardice", 22, "Brown");
me.lastname; //undefined
me.newlastname("Something");
me.lastname; //Something

这是可能的,因为在JavaScript中,函数是对象。

此语言功能被调用。维基百科的文章相当全面。

此语言功能称为。维基百科的文章非常全面。

这是javascript的一个很酷的地方。函数是一级对象,这意味着与其他非函数式编程语言不同,您可以将它们作为参数传递给其他函数,从函数返回它们,并(如示例中所示)像普通属性一样将它们附加到对象


这使编程范例成为可能,比如(对于web)非常重要的异步函数调用(回调)。

这是javascript的一个很酷的地方。函数是一级对象,这意味着与其他非函数式编程语言不同,您可以将它们作为参数传递给其他函数,从函数返回它们,并(如示例中所示)像普通属性一样将它们附加到对象


这支持编程范例,如(对于web)非常重要的异步函数调用(回调)。

属性是方法。。。?我现在非常激动。属性可以有函数作为值…这是什么疯狂!!!(来自c++/c#/objective-c)是的,我认为这是更习惯c/c++的开发人员的常见反应!链接到lanzz的文章应该有助于更详细地解释一般概念。。。?我现在非常激动。属性可以有函数作为值…这是什么疯狂!!!(来自c++/c#/objective-c)是的,我认为这是更习惯c/c++的开发人员的常见反应!lanzz链接到的文章应该有助于更详细地解释一般概念。