Javascript私有变量
如何使我的Javascript私有变量,javascript,jquery,Javascript,Jquery,如何使我的选项卡变量私有,并且只能从返回{}中访问控制台.log(选项卡)返回未定义的 $(document).ready(function () { Site.page = (function () { return { init: function () { Site.page.tabs.init(); }, //manage deal tabs
选项卡
变量私有,并且只能从返回{}
中访问<代码>控制台.log(选项卡)返回未定义的
$(document).ready(function () {
Site.page = (function () {
return {
init: function () {
Site.page.tabs.init();
},
//manage deal tabs
tabs: (function () {
var tabs = null;
return {
init: function () {
console.log(tabs);
},
show: function (tab) {
$('#deal-tabs > div.selected').removeClass('selected');
$(tab).addClass('selected');
}
}
})()
}
}());
Site.page.init();
});
为什么函数和变量的名称相同?如果您只需要返回{}中的变量,那么在该代码块中声明它,而不是在外部声明。它为我打印出null
,这是应该的。看起来您的代码做了您希望它做的事情。你是在我从没听说过的浏览器中尝试吗?JavaScript没有块作用域。在返回{}
中声明它与在最近的封闭函数中声明它是一样的。