gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:57:26 24 4
gpt4 key购买 nike

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

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

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

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 中,每个函数都是一个对象。对象是键:值对的集合。如果值是基元(数字、字符串、 bool 值)或其他对象,则该值被视为属性。如果值是函数,则称为“方法”。

在对象的范围内,函数被称为该对象的方法。它是从对象命名空间 MyObj.theMethod() 调用的。由于我们说函数是一个对象,因此函数中的函数可以被视为该函数的方法。

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

顺便说一句,JavaScript 模式一书,作者 Stoyan Stefanov详细涵盖了您的问题,如果您真的想了解该语言,我强烈推荐它。以下是书中关于此主题的引用:

So it could happen that a function A, being an object, has properties and methods, one of which happens to be another function B. Then B can accept a function C as an argument and, when executed, can return another function D.

关于javascript - 方法与函数,以及其他问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285293/

24 4 0
文章推荐: delphi - 自定义 dbgrid 和 Picklist 问题
文章推荐: pushsharp - PushSharp 的正确使用方法是什么?
文章推荐: WebSocket 和负载平衡是瓶颈吗?
文章推荐: angular - 组件 'mat-table' 和指令 '' 之间有什么区别?