Javascript 方法算作函数表达式吗?

Javascript 方法算作函数表达式吗?,javascript,Javascript,函数声明如下所示: function declaration() {} const expression = function() {}; 函数表达式如下所示: function declaration() {} const expression = function() {}; 如果非要我选择,方法算作函数表达式吗?我的理由是,它们不像函数声明那样被提起,而函数关键字右侧的名称被省略 let foo = { bar: function() { console.log('fo

函数声明如下所示:

function declaration() {}
const expression = function() {};
函数表达式如下所示:

function declaration() {}
const expression = function() {};
如果非要我选择,方法算作函数表达式吗?我的理由是,它们不像函数声明那样被提起,而
函数
关键字右侧的名称被省略

let foo = {
  bar: function() {
    console.log('foo.bar()');
  }
};

或者方法被算作它们自己的独立类别吗?

这是一种对象文字,您可以在其中使用表达式声明键和值。是的,这是一个函数表达式。要使它不是一个表达式,它需要a)一个名称(
函数foo(){}
)和b)作为一个语句单独存在于它自己的行中,而不是一个更大的表达式的一部分。

一切都归结为对象和原型。它更像是原型对象中的函数引用:

函数Person(){}
Person.prototype.greet=函数(){};
console.log(Person.prototype.greet);
Person.prototype.greet=新功能(“”);
console.log(Person.prototype.greet);
Person.prototype.greet=问候;
函数greet(){}
console.log(Person.prototype.greet);

新来的人问候//无论哪种方式都可以
您可以取消对象的方法,如下所示:

let foo={
姓名:'foo',
你好{
console.log(this.name+'hello')
}
}

foo.sayHello()//foohhello
事实上,我对“方法”的想法受到了以下因素的影响:;“一个方法是一个函数,它是一个对象的属性”很明显,你的想法比你所引用的要多,这只是加强了我的答案的正确性。这与聪明与否无关,米。这是事实。你不应该因此而生气。你是对的,这是关于回答最初的问题,而你没有——至少没有以连贯的方式回答(这个问题是“是”或“否”的,意思是应该有“是”或“否”的答案)。答案是“是”和“否”。我展示了两个例子,其中属性被分配给函数表达式或函数声明。没关系。不管怎样,它只是一个函数对象。我认为这并不能回答这个问题。此外,您可能希望缩进代码。