我有一个html
页面,我正在从html页面调用javascript
函数,脚本位于单独的文件中
HTML
<a href="javascript:void(0);" id="btn1" onclick="ButtonClick();">Click Me</a>
<script src="Externalscript.js"></script>
<script>
Initialize('1,2,3,4');
</script>
的JavaScript
var myList; //global variable
function Initialize(ids) {
myList = new Array();
var idList = ids.split(',');
for (i = 0; i < idList.length; i++) {
myList.push(idList[i]);
}
我将id值存储在myList
中,现在我想在点击按钮时检索myList
function ButtonClick() {
alert(myList);
}
现在,当我试图提醒myList时,它正在提供undefined
。
如何将值存储在global
变量中并在其他函数中检索
答案 0 :(得分:2)
return
函数的值比更新global-variable
并访问它
function ButtonClick() {
var returned = Initialize('1,2,3,4');
console.log(returned);
}
function Initialize(ids) {
var myList = new Array();
var idList = ids.split(',');
for (i = 0; i < idList.length; i++) {
myList.push(idList[i]);
}
return myList;
}
&#13;
<a href="javascript:void(0);" id="btn1" onclick="ButtonClick();">Click Me</a>
&#13;
修改:将结果存储在global-variable
var returned = Initialize('1,2,3,4');
function ButtonClick() {
console.log(returned);
}
function Initialize(ids) {
var myList = new Array();
var idList = ids.split(',');
for (i = 0; i < idList.length; i++) {
myList.push(idList[i]);
}
return myList;
}
&#13;
<a href="javascript:void(0);" id="btn1" onclick="ButtonClick();">Click Me</a>
&#13;
答案 1 :(得分:0)
<!DOCTYPE html >
<html>
<head>
<script>
Initialize('1,2,3,4');
var myList; //global variable
function Initialize(ids)
{
myList = new Array();
var idList = ids.split(',');
for (i = 0; i < idList.length; i++)
{
myList.push(idList[i]);
}
}
function ButtonClick()
{
alert(myList);
}
</script>
</head>
<body>
<a href="javascript:void(0);" id="btn1" onclick="ButtonClick();">Click Me</a>
</body>
</html>
我刚刚重写了你的代码,并按预期将列表打印为1,2,3,4
答案 2 :(得分:0)
我在重建问题时遇到了麻烦。这是你的代码的样子:
<a href="javascript:void(0);" id="btn1" onclick="alert(myList)">Click Me</a>
<script>
var myList; //global variable
function Initialize(ids) {
myList = new Array();
var idList = ids.split(',');
for (i = 0; i < idList.length; i++) {
myList.push(idList[i]);
}
}
Initialize('1,2,3,4');
</script>
http://codepen.io/calvinclaus/pen/WxNaPX?editors=1011
因为这有效......你可以提供问题的笔 ?
答案 3 :(得分:0)
您的代码应该有效。
一条建议:split
已经创建了一个数组:MDN
所以你正在做的是:
idList = ids.split(',')
)myList.push(idList[i]);
) myList = ids.split(',');
足够
实施例
var myList;
function Initialize(ids) {
myList = ids.split(',');
}
Initialize('1,2,3,4');
function ButtonClick(e) {
e.preventDefault();
alert(myList);
}
document.getElementById('btn1').addEventListener('click', ButtonClick);
工作演示: fiddle