在下一个函数中使用来自选项的变量
Using variable from option in the next function
我尝试通过从选项中获取值来解决问题。
当我从 select 中选择一个数字时,该数字在 p 标记中正确打印并且 let index 也正确,但我想在此程序的下一个函数中使用 'const n' 。只是为了测试我创建函数 send() 来检查,我可以使用这个变量但所有时间 console.log 都是 NaN。我该如何解决?
<p id="p">Your number is: 0</p>
<select id="select">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<button onclick="send();">SEND</button>
//JS
var selectElem = document.getElementById('select')
var pElem = document.getElementById('p')
const n = selectElem.addEventListener('change', function() {
let index = selectElem.value;
pElem.innerHTML = 'Your number is: ' + index;
return index;
})
console.log(n);
const a = n*2;
function send(){
console.log('-----');
console.log(n);
console.log(a);
}
嗯,第二个参数(函数)是一个回调。
另外,您可以使用 window
来获取所需的对象
var a=10
function send(){
console.log('-----');
console.log(window.n);
console.log(window.a);
}
此外,JS 是基于原型的语言。所以,我怀疑它与 classes
有什么关系。 (在句法上,是的,也许)
你可以创建一个函数集并调用它来更新object.n..见我的例子
//JS
var selectElem = document.getElementById('select')
var pElem = document.getElementById('p')
var obj ={
n:'weqwe'
}
function setN(n){
obj.n =n
}
selectElem.addEventListener('change', function(obj) {
let index = selectElem.value;
setN( selectElem.value);
pElem.innerHTML = 'Your number is: ' + index;
return index;
})
function send(){
console.log(obj.n)
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<p id="p">Your number is: 0</p>
<select id="select">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<button onclick="send();">SEND</button>
</body>
</html>
我尝试通过从选项中获取值来解决问题。 当我从 select 中选择一个数字时,该数字在 p 标记中正确打印并且 let index 也正确,但我想在此程序的下一个函数中使用 'const n' 。只是为了测试我创建函数 send() 来检查,我可以使用这个变量但所有时间 console.log 都是 NaN。我该如何解决?
<p id="p">Your number is: 0</p>
<select id="select">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<button onclick="send();">SEND</button>
//JS
var selectElem = document.getElementById('select')
var pElem = document.getElementById('p')
const n = selectElem.addEventListener('change', function() {
let index = selectElem.value;
pElem.innerHTML = 'Your number is: ' + index;
return index;
})
console.log(n);
const a = n*2;
function send(){
console.log('-----');
console.log(n);
console.log(a);
}
嗯,第二个参数(函数)是一个回调。
另外,您可以使用 window
来获取所需的对象
var a=10
function send(){
console.log('-----');
console.log(window.n);
console.log(window.a);
}
此外,JS 是基于原型的语言。所以,我怀疑它与 classes
有什么关系。 (在句法上,是的,也许)
你可以创建一个函数集并调用它来更新object.n..见我的例子
//JS
var selectElem = document.getElementById('select')
var pElem = document.getElementById('p')
var obj ={
n:'weqwe'
}
function setN(n){
obj.n =n
}
selectElem.addEventListener('change', function(obj) {
let index = selectElem.value;
setN( selectElem.value);
pElem.innerHTML = 'Your number is: ' + index;
return index;
})
function send(){
console.log(obj.n)
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<p id="p">Your number is: 0</p>
<select id="select">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<button onclick="send();">SEND</button>
</body>
</html>