Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从私有内部函数更新变量值_Javascript_Jquery - Fatal编程技术网

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();