JavaScript 中方法和函数之间区别的基本代码示例



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

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

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

在此示例中,gomyObj 对象上的方法。

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

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

此函数中的 inner() 等本地函数只是函数而不是方法,因为它们不附加到特定对象:

function main() {
    function inner() {
        alert("hi");
    }
    inner();
}

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

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();

示例:

功能:

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()

函数是一种类型,可用于定义一段代码,可以使用调用("()")运算符执行,并且可以将数据返回给调用方。

例如

定义

function sayHello(){
 return "Hello";
}

var result = sayHello();

现在,结果将持续"你好"。

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

例如

定义

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

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

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

var result = obj.sayHello();

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

指:

  • MDN 的职能
  • MDN 中的对象

最新更新