加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 资讯 > 正文

JavaScript中的方法指的是什么我来为你解答

发布时间:2021-05-22 19:43:33 所属栏目:资讯 来源:互联网
导读:1.什么是方法 定义并调用一个常规函数: function greet(who){ return `Hello,${who}!`; } greet( World );//= Hello,World! function关键字后跟其名称,参数和
副标题[/!--empirenews.page--]

定义并调用一个常规函数:

function greet(who) { 

  return `Hello, ${who}!`; 

 

greet('World'); // => 'Hello, World!' 

function关键字后跟其名称,参数和主体:function greet(who){...}进行常规的函数定义。

greet('World')是常规的函数调用。函数greet('World')接受参数中的数据。

如果who是一个对象的属性呢?要方便访问对象的属性,我们可以将函数附加到该对象,换句话说,就是创建一个方法。

我们将greet()作为对象world的一种方法:

const world = { 

  who: 'World', 

 

 greet() { return `Hello, ${this.who}!`; }} 

 

world.greet(); // => 'Hello, World!' 

greet() { ... }现在是属于world对象的方法, world.greet()是方法调用。

在greet()方法内部,this指向该方法所属的对象—world,这就是为啥可以this.who访问 word属性的原因。

注意,this也称为上下文。

上下文是可选的

在上一个示例中,我们使用this来访问该方法所属的对象,但是 JS 没有强制让方法使用 this。

因此,可以将对象用作方法的命名空间:

const namespace = { 

  greet(who) { 

    return `Hello, ${who}!`; 

  }, 

 

  farewell(who) { 

    return `Good bye, ${who}!`; 

  } 

 

namespace.greet('World');    // => 'Hello, World!' 

namespace.farewell('World'); // => 'Good bye, World!' 

namespace是一个包含2个方法的对象:namespace.greet()和namespace.farewell()。

2. 对象字面量方法

如前所述,我们可以直接在对象字面量中定义方法

const world = { 

  who: 'World', 

 

 greet() { return `Hello, ${this.who}!`; }}; 

 

world.greet(); // => 'Hello, World!' 

greet() { .... }是在对象定义的方法,这种定义类型称为速记方法定义(从ES2015开始可用)。方法定义的语法也更长:

const world = { 

  who: 'World', 

  greet: function() {  

    return `Hello, ${this.who}!`;  

  } 

 

world.greet(); // => 'Hello, World!' 

greet: function() { ... }是一个方法定义,注意附加的冒号和function关键字。

动态添加方法

方法只是一个函数,它作为属性存储在对象上。因此,我们可以向对象动态添加方法:

const world = { 

  who: 'World', 

 

  greet() { 

    return `Hello, ${this.who}!`; 

  } 

}; 

 

// A a new property holding a function 

world.farewell = function () { 

  return `Good bye, ${this.who}!`; 

 

world.farewell(); // => 'Good bye, World!' 

3.类方法

在 JavaScript 中,类别语法定义了一个类别,该类别将用作其实例的模板。

类也可以有方法:

class Greeter { 

  constructor(who) { 

    this.who = who; 

  } 

 

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读