对于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(使用前将#替换为@)