gpt4 book ai didi

javascript - 全局对象文字

转载 作者:行者123 更新时间:2023-12-03 06:22:33 26 4
gpt4 key购买 nike

我在 main 中创建了全局变量,例如:

在 mainPage1.js 上

$(#search).click(){ 
text = "string from main";
openChildWindow(searchwindow.jsp);
});

在 mainPage2.js 上

$(#search).click(){ 
text = "string from main";
openChildWindow(searchwindow.jsp);//same window opening by mainPage1
});

在 commonSearch.js 上,我确实访问了要在输入中显示的 var

$("#myInput").val(window.opener.text);
window.opener.text = ""; // and just reset thevalue to empty

避免使用 w3.org 中的全局变量,我可以使用对象文字,所以我想出了这样的:

在 mainPage1.js 上

myNameSpace = function(){
var text= null;
function init(){...}
return{ init:init }
}();

在 mainPage2.js 上

myNameSpace = function(){
var text= null;
function init(){...}
return{ init:init }
}();

commonSearch.js 上的内容

我只是使用myNameSpace.text来访问它?由于我将使用由不同页面调用的公共(public)搜索窗口,因此我没有重命名我的 namespace ,我认为我无法解决全局问题,但我只是创建了一个全局对象。有人可以告诉我这一点吗?

最佳答案

如果您想获取和设置 text 的值(从对象字面量外部),您还可以返回一个返回 text 值的函数,并且另一个设置 text 值的函数。

    var myNameSpace = function() {
var text = 'nothing';

function init() {
text = 'init';
}
return {
init: init,
getText: function() {
return text;
},
setText: function(newText) {
text = newText;
}
}
}();
console.log(myNameSpace.getText());
myNameSpace.init();
console.log(myNameSpace.getText());
myNameSpace.setText('set');
console.log(myNameSpace.getText());

关于javascript - 全局对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com