3

如果没有看到我所阅读内容的真实、基本、有效的例子,我总是很难掌握新概念。虽然我喜欢关于 stackoverflow 的其他解释,但我真的很想看到一个非常基本的示例,展示 JavaScript 中方法和函数之间的区别,我可以快速运行以了解更多信息。

4

4 回答 4

5

Amethod只是一个property对象的函数。它不是 javascript 中不同类型的对象,而method只是赋予function定义为property对象的 a 的描述性名称。

var myObj = {};
myObj.go = function() {alert("hi");}
myObj.go();

在本例中,是对象go上的一个方法。myObj

当如上例中调用方法时,指针myObj.go()的值将this设置为方法调用所涉及的对象(在本例中myObj)。

由于全局函数也是window对象上的隐式属性,因此可以说全局函数也是window对象上的方法,但您无需window指定即可调用它们。

像这个函数中的局部函数inner()只是函数而不是方法,因为它们没有附加到特定对象:

function main() {
    function inner() {
        alert("hi");
    }
    inner();
}
于 2012-09-23T03:54:12.167 回答
1

这是一个函数和一个函数调用:

function myFunction(){
    alert("This is a function!");
}

myFunction();

另一方面,这是一个方法调用,因为它是对象的成员函数。

message.toUpperCase();

这是创建类/方法和调用的完整代码:

function Circle(x,y,r) {
  this.xcoord = x;
  this.ycoord = y;
  this.radius = r;
}
Circle.prototype.retArea = function () {
  return ( Math.PI * this.radius * this.radius );
};

var aCircle = new Circle(1,2,3); 
var a = aCircle.retArea();
于 2012-09-23T03:54:31.937 回答
0

例子:

功能:

var f1 = function fBase() { ... }

function f2() { ... }

var f3 = function() { ... }

f1()
f2()
f3()

方法:

var c = function oBase() { 

   this.method1 = function() { ... };

}

c.prototype.method2 = function() { ... }

var o = new c()
o.method1()
o.method2()

方法json:

var o = { method1: function() { ... } }
o.method2 = function() { ... }

o.method1()
o.method2()
于 2012-09-23T03:58:28.677 回答
0

函数是一种可用于定义一段代码的类型,该代码可通过使用 call ("()") 运算符执行,并可将数据返回给调用者。

例如

定义

function sayHello(){
 return "Hello";
}

采用

var result = sayHello();

现在,结果将包含“Hello”。

方法是定义在对象内部并可通过属性访问的函数。例如,slice是否在所有字符串实例上定义了函数

例如

定义

var obj = {
 sayHello : function(){
  return "Hello";
 }
};

您还可以在对象定义之外定义方法

var obj = {};
obj.sayHello = function(){
      return "Hello";
     };

采用

var result = obj.sayHello();

我们在面向对象编程中使用方法。

参考:

于 2012-09-23T04:26:01.503 回答