加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

JavaScript中的要领指的是什么我来为你解答

发布时间:2021-05-22 19:44:40 所属栏目:编程 来源:互联网
导读: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; 

  } 

 

(编辑:湖南网)

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

热点阅读