2016-10-25 108 views
0

我發現調用JavaScript中的原型方法的方式如下:javascript函數調用方法

this.abc(x,y,z).cnt; 

什麼將這一聲明調用,參數又會有怎樣的返回值。 我在我的應用程序中看到了這種用法,我正在使用。

回答

2

this.abc(x,y,z).cnt裝置

  • .abc是您當前的對象的方法(或任何this被定義爲)
  • .abc接受xyz並返回一個對象
  • 返回的對象有一個名爲cnt
  • this.abc(x,y,z).cnt基本上是ge TS,物業

如果你熟悉像Python語言的價值,它相當於

self.abc(x, y, z)["cnt"] 
+0

ya很好謝謝。因爲我沒有使用過這種模式,所以我很困惑在將值傳遞給原型方法時是否會有任何arg操作 –

0

this調用方法abc與參數x,y,z,然後採取cnt財產。

看看這個例子,並着重於變量數據abc方法。

// init a class 
function Obj(){} 

// add method abc 
Obj.prototype.abc = function(x, y, z) { 
    var cnt = x + y + z; 
    var data = {cnt: cnt}; 

    // return object with cnt property 
    return data; 
} 

const obj = new Obj(); 
const x = 1, y = 2, z = 3; 

// cnt = 6 
var cnt = obj.abc(x,y,z).cnt; 

// equal with this 
var data = obj.abc(x, y, z); 
console.log(data.cnt)