Javascript 从私有内部函数更新变量值
需要将Javascript 从私有内部函数更新变量值,javascript,jquery,Javascript,Jquery,需要将someObject.config.title的值更新为从单击事件设置的值。我该怎么做呢 还有一个单独的问题,是否有办法将$this设置为可通过此对象的任何子函数访问的全局变量 在您的代码中,someObject.config不是私有的 要使其成为私有变量(并获取对$this的引用),可以执行以下操作: var someObject = (function () { var config = { title: '' }; // config is now
someObject.config.title
的值更新为从单击
事件设置的值。我该怎么做呢
还有一个单独的问题,是否有办法将$this
设置为可通过此对象的任何子函数访问的全局变量
在您的代码中,
someObject.config
不是私有的
要使其成为私有变量(并获取对$this
的引用),可以执行以下操作:
var someObject = (function () {
var config = {
title: ''
}; // config is now a private variable
var $this = {
init: function() {
var title = config.title;
$('button').on( 'click' , function() {
title = 'yo, waz gud son!';
// This reference works
//$this.referenceTitle( title );
});
// This reference is undefined, need to update original value
$this.referenceTitle( title );
},
referenceTitle: function(arg) {
console.log( arg );
}
};
return $this;
}()); // <-- immediate invocation
someObject.init();
var someObject=(函数(){
变量配置={
标题:“”
};//config现在是一个私有变量
var$this={
init:function(){
var title=config.title;
$('button')。在('click',function()上{
头衔=‘哟,哇,你的儿子!’;
//这个参考资料有效
//$this.referenceTitle(标题);
});
//此引用未定义,需要更新原始值
$this.referenceTitle(标题);
},
referenceTitle:函数(arg){
控制台日志(arg);
}
};
退还$this;
}()); // 试过了,没用。即使在点击按钮之后
var someObject = (function () {
var config = {
title: ''
}; // config is now a private variable
var $this = {
init: function() {
var title = config.title;
$('button').on( 'click' , function() {
title = 'yo, waz gud son!';
// This reference works
//$this.referenceTitle( title );
});
// This reference is undefined, need to update original value
$this.referenceTitle( title );
},
referenceTitle: function(arg) {
console.log( arg );
}
};
return $this;
}()); // <-- immediate invocation
someObject.init();