【发布时间】:2013-02-23 11:36:42
【问题描述】:
关于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;
【问题讨论】:
-
查找“函数声明与函数表达式”。
-
你在哪里看到的最后一部分?没有理由这样做,除非
obj.myFirstFunc未定义并且需要引用myFirstFunc。 -
@MichaelBerkowski:Codecademy。我不记得它在哪里练习了。找到代码,现在编辑OP。
-
在回答最后一个问题时(这样它就不会打扰我了),他们定义了一个函数并将其分配给
myFirstFunc。它们还有一个变量obj,它是一个具有myFirstFunc属性的类。他们将函数从局部变量复制到对象。从局部变量 (myFirstFunc("param");) 调用函数不需要副本。如果要从对象 (obj.myFirstFunc("param");) 调用函数,则需要副本,尤其是在局部变量超出范围的情况下。
标签: javascript function methods