我有返回数组的JavaScript函数。我正在收集那个数组,
<button onclick="var v = onclick1();">Click me</button>
我想在其余的应用程序中使用变量v。
我试图让它全球化但不起作用。
我可以在span中显示数组v中的文本,例如
<span id="SP">
</span>
此致
答案 0 :(得分:0)
PFB代码:
JS
var returnVal;
function onclick1(){
// todo write your logic
var a= [2,2]; // some array to be returned
returnVal = a;
document.getElelmentById('SP').innerHtml = returnVal;
}
HTML:
<button onclick="onclick1();">Click me</button>
<span id="SP">
</span>
希望它有所帮助。
答案 1 :(得分:0)
可能你会尝试这样的事情:
<button onclick=" v = onclick1();">Click me</button>
<script>
var v
function onclick1(){
var a= [2,2];
return a;
}
$(document).ready(function(){
document.addEventListener("click", function(){ // this part is only to show you that v got the returned vale.
alert(v);
});
});
</script>
答案 2 :(得分:0)
您的变量v
始终将作用于单击处理程序,因此为了使其可供应用程序的其余部分访问,唯一的方法是在更高的范围内使用另一个变量。一种可能的解决方案是使用v
属性来表示应用程序的全局对象。
var yourApp = yourApp || {};
yourApp.v = null;
window.onload = function(){
document.getElementById("yourbutton").addEventListener(function(){
yourApp.v = onclick1();
}, false);
}
现在,在您的其他脚本文件中,您可以参考yourApp.v
。
你可以让v
成为全局的,但是拥有大量的单个全局变量通常不是很好的做法(污染全局范围),但是只有一个全局对象,包含你的其他变量是可以接受的。
旁注:我使用addEventListener将事件处理程序分配给您的按钮,该按钮需要ID yourbutton
,因为这比内联点击处理程序更受欢迎。