我有一个像下面这样的对象设置:
var StartScreenLayer = cc.Layer.extend({
ctor: function () {
this._super();
// this function can call createBackground!
this.createBackground();
},
callCreateBackgroundToo: function () {
// I can call createBackground too!
this.createBackground();
},
createBackground: function () {
});
如何安排它以便createBackground是私有的,但其他对象不能调用screenLayer.createBackground()
之类的内容并在对象上抛出createBackground is undefined
类型错误?
答案 0 :(得分:0)
显然,惯例是在它前面添加下划线。但它只是一个惯例,所以你仍然可以打电话给"私人"功能
我使用的cocos2d库就是这样,所以我想我也会这样做。
编辑:
根据Volune的建议,我采用了以下方法:
var StartScreenLayer = cc.Layer.extend(function() {
function callCreateBackgroundToo() {
// I can call createBackground too!
createBackground(this);
}
function createBackground() {
}
return {
ctor: function () {
this._super();
// this function can call createBackground!
createBackground.call(this);
}
}
}());