说我像这样创建一个对象:
$.myObject = function(parameter){
var defaults = {
start: '1'
};
options = $.extend(defaults, options);
function doSomething(){
console.log('BOO');
}
}
如何访问该功能并从外部访问属性?他们似乎是私人的(关闭问题?)。
我是否必须在外部定义该功能才能将其公开? 即。
$.myObjectFunction = function doSomething(){
console.log('BOO');
}
为了从firefox / chrome中的控制台全局调用它作为$ .myObjectFunction()。
答案 0 :(得分:2)
这是一个例子。
(function ($) {
$.myObject = function (options) {
var opts = $.extend({}, $.myObject.defaults, options),
privateMethod = function (msg) {
alert(opts.start + ': ' + msg);
};
return {
publicMethod: function (msg) {
privateMethod(msg);
}
}
};
$.myObject.defaults = {
start: '1'
};
})(jQuery);
$(function () {
$.myObject().publicMethod('One');
$.myObject({'start': '100'}).publicMethod('Two');
$.myObject.defaults.start = '1000';
$.myObject().publicMethod('Three');
$.myObject().privateMethod('Four');
});
答案 1 :(得分:1)
Here你可以找到很多如何在JavaScript中使用类的例子
function myObject(options) {
var defaults = {
start: '1'
};
options = $.extend(defaults, options);
this.doSomething = function () {
console.log('BOO');
console.log(options.start);
}
}
使用:
new myObject().doSomething()
new myObject({start:'100'}).doSomething()