如何在a
中使用genTable
?它说a is not defined
JS:
function colNum(){
a=prompt(' The number of columns?');
if(!parseInt(a))
{
console.log("Not number")
}
}
function genTable() {
table = document.createElement('table');
table.setAttribute('id','tbl');
tr = document.createElement('tr');
for (var i = 0; i < a; i++)
{
var th1 = document.createElement('th');
var text1 = document.createTextNode(i);
th1.appendChild(text1);
tr.appendChild(th1);
}
table.appendChild(tr);
document.body.appendChild(table);
}
HTML
<body onload='colNum()'>
答案 0 :(得分:1)
要在a
中使用genTable
给genTable
一个参数并从colNum
// in function colNum
genTable(a); // a refers to the variable named a
// ...
function genTable(a) {
// a refers to the parameter named a
}
var a;
在一个包含colNum
和genTable
的闭包中,并且在后代闭包中没有var
(你当前不是完全使用var
var a;
function colNum() {
// ...
}
function genTable() {
// ...
}
目前你已经可以访问它了,但这是因为你没有var
它,这是一个不好的习惯,因为它可能导致未来代码中的标识符冲突