如何在另一个JavaScript函数中复用下拉框选中的变量值?
解决方法
方法一:从sessionStorage读取(推荐)
既然你已经把power存在sessionStorage里了,直接在getValue里读取即可,注意要把读取到的字符串转成数字——不然会出现字符串拼接(比如10+"7"会得到"107"而不是17)。修正后的getValue函数:
function getValue () { var number = 10; // 从sessionStorage读取并转成数字 var power = parseInt(sessionStorage.getItem("power"), 10); var selectedValue = number + power; console.log(selectedValue); // 原代码里的selectedValue2是笔误,需改成selectedValue }
方法二:正确使用全局变量
如果想用全局变量,要把power声明在函数外部,而非getSelectValuePower的局部作用域内:
// 声明全局变量 let power; function getSelectValuePower () { // 直接给全局变量赋值,不要加var power = parseInt(document.getElementById("power").value, 10); sessionStorage.setItem("power", power); console.log(power); } function getValue () { var number = 10; var selectedValue = number + power; console.log(selectedValue); // 修正笔误 }
关键注意点
- 原
getValue里的console.log(selectedValue2)是变量名错误,必须改成selectedValue - 下拉框的
value默认是字符串类型,必须转成数字再做加法,否则会出现非预期的字符串拼接行为
内容的提问来源于stack exchange,提问作者BrainRails
相关产品推荐
相关产品推荐

