- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就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/
我是一名优秀的程序员,十分优秀!