有人可以告诉为什么" inputValue'以下函数中的变量未转换为数字。我期待第二个console.log
报告该变量现在是一个数字(因为我将parseInt
应用于它)。
但显然它仍然是一个字符串。
function checkIfNum(){
var inputValue = document.getElementsByTagName('input')[0].value;
console.log(inputValue);
// Convert to a number
parseInt(inputValue);
console.log(typeof(inputValue));
}
答案 0 :(得分:3)
你没有对typeof
的结果做任何事情,所以你正在对inputValue
的原始值进行parseInt
是一个字符串。将inputValue
的结果分配给function checkIfNum(){
var inputValue = document.getElementsByTagName('input')[0].value;
console.log(inputValue);
// Assign the result of parseInt
inputValue = parseInt(inputValue, 10);
console.log(typeof(inputValue));
}
,您的代码将正常运行:
parseInt
JsFiddle(Stack Snippets似乎已关闭)。
我在parseInt
调用中添加了一个基数以确保在某些旧浏览器中将其解析为十进制值,这也是值得的。
答案 1 :(得分:1)
因为您没有将inputValue
的结果分配给任何内容,特别是inputValue = parseInt(inputValue);
。纠正:
tabitems(
tabItem(tabName = "plot1",
box( width = "100%" , height = "100%", solidHeader = FALSE, status = "primary",
plotOutput("plot"))
)
答案 2 :(得分:0)
您必须将parseInt(inputValue)
的返回值存储为新变量或覆盖现有变量
function checkIfNum(){
var inputValue = document.getElementsByTagName('input')[0].value;
console.log(inputValue);
// Convert to a number
var newInputValue = parseInt(inputValue);
console.log(typeof(newInputValue));
}