方法与函数,以及其他问题

2023-11-23

对于JS来说,两者有什么区别呢?我知道方法与对象相关联,但我很困惑函数的目的是什么?它们各自的语法有何不同?

另外,这两种语法有什么区别:

var myFirstFunc = function(param) {
    //Do something
};

and

function myFirstFunc(param) {
    //Do something
};

另外,我在某个地方看到我们需要在使用函数之前执行类似的操作:

obj.myFirstFunc = myFirstFunc;
obj.myFirstFunc("param");

为什么需要第一行,它的作用是什么?

抱歉,如果这些是基本问题,但我从 JS 开始,很困惑。

编辑:对于最后一段代码,这就是我所说的:

// here we define our method using "this", before we even introduce bob
var setAge = function (newAge) {
  this.age = newAge;
};
// now we make bob
var bob = new Object();
bob.age = 30;
// and down here we just use the method we already made
bob.setAge = setAge;

回答你的标题问题,即“函数”和“方法”之间有什么区别。

这是语义,与你想要表达的内容有关。

在 JavaScript 中,每个函数都是一个对象。对象是键:值对的集合。如果值是基元(数字、字符串、布尔值)或其他对象,则该值被视为属性。如果值是函数,则称为“方法”。

在对象的范围内,函数被称为该对象的方法。它是从对象名称空间调用的MyObj.theMethod().既然我们说函数是一个对象,那么函数中的函数可以被认为是该函数的方法。

你可以这样说:“我将使用保存method我的对象。”并且“此保存方法接受function作为参数。”但您通常不会说函数接受方法作为参数。

顺便说一句,这本书JavaScript 模式 by 斯托扬·斯特凡诺夫详细涵盖了您的问题,如果您真的想了解该语言,我强烈推荐它。这是关于这个主题的书中的一段引述:

因此,函数 A 作为一个对象,可能具有属性和方法,其中之一恰好是另一个函数 B。然后 B 可以接受函数 C 作为参数,并且在执行时可以返回另一个函数 D。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方法与函数,以及其他问题 的相关文章

随机推荐