我想了解如何使用coffeescript創建私有方法。下面是一個示例代碼Coffeescript-Javascript關聯
class builders
constructor: ->
// private method
call = =>
@priv2Method()
// privileged method
privLedgeMethod: =>
call()
// privileged method
priv2Method: =>
console.log("got it")
以下是所生成的JS代碼。
(function() { var builders, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; builders = (function() { var call, _this = this; function builders() { this.priv2Method = __bind(this.priv2Method, this); this.privLedgeMethod = __bind(this.privLedgeMethod, this); } call = function() { return builders.priv2Method(); }; builders.prototype.privLedgeMethod = function() { return call(); }; builders.prototype.priv2Method = function() { return console.log("got it"); }; return builders; }).call(this); }).call(this);
請注意,我用「胖箭頭」的功能定義。有幾件事我沒有從代碼中得到。
- 什麼用的_this可變
- ,如果你運行該代碼爲:比調用方法沒有找到priv2Method方法中(新的建設者())privLedgeMethod()。即使構建器對象確實將priv2Method顯示爲其原型的屬性。
希望有人可以在這裏說明一些情況。