Javascript-isNaN和parseInt

Javascript-isNaN和parseInt,javascript,Javascript,我有一个简单的计数器函数,但是isNaN函数不能很好地工作。我想做的是,当我删除输入数字框中的数字,然后单击递增或递减器时,该数字应该返回0,但不返回任何内容。当值不是数字时,如何使该值始终返回0?有什么想法吗 function inc(元素){ 设el=document.querySelector(`[name=“${element}”]`); if(isNaN(标高值)){ 返回0; }否则{ 返回el.value=parseInt(el.value)+1; } } 函数dec(元素){

我有一个简单的计数器函数,但是isNaN函数不能很好地工作。我想做的是,当我删除输入数字框中的数字,然后单击递增或递减器时,该数字应该返回0,但不返回任何内容。当值不是数字时,如何使该值始终返回0?有什么想法吗

function inc(元素){
设el=document.querySelector(`[name=“${element}”]`);
if(isNaN(标高值)){
返回0;
}否则{
返回el.value=parseInt(el.value)+1;
}
}
函数dec(元素){
设el=document.querySelector(`[name=“${element}”]`);
if(isNaN(标高值)){
返回0;
}否则{
如果(parseInt(el.value)>0){
el.value=parseInt(el.value)-1;
}
}
}
正文{
宽度:100%;
高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
/*重置*/
输入[type=“number”]{
-moz外观:textfield;
}
输入[type=“number”]::-webkit内部旋转按钮,
输入[type=“number”]::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
输入[type=“number”]:悬停::-webkit内部旋转按钮,
输入[type=“number”]:悬停::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
/*数量输入*/
.输入号码按钮{
宽度:150px;
高度:35px;
显示器:flex;
证明内容:之间的空间;
对齐项目:居中;
边框:1px实心变量(--Grey2)
}
.输入数字按钮输入[type=“number”]{
宽度:65%;
身高:100%;
边界:0;
文本对齐:居中;
位置:相对位置;
背景颜色:粉红色;
填充:10px;
}
.输入数字按钮输入[type=“number”]:焦点,
.输入号码按钮:焦点{
大纲:无;
}
.输入号码按钮{
边框:1px实心透明;
字体大小:25px;
位置:相对位置;
背景色:var(--mainWhite);
}
.输入数字按钮。向下输入箭头,
.输入数字按钮。向上输入箭头{
宽度:35%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.输入数字按钮。向上输入箭头{
背景颜色:橙色;
}
.输入数字按钮。向下输入箭头{
背景色:淡褐色;
}
.输入数字按钮范围{
宽度:100%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}

-
+

实际上,当您输入一个非数字时,e.value是“”。也许你可以试试这个

function inc(元素){
const el=document.querySelector(`[name=“${element}”]`);
常数val=(el.value)?parseInt(el.value,10)+1:0;
el.value=Math.min(val,parseInt(el.getAttribute(“max”),10));
}
函数dec(元素){
const el=document.querySelector(`[name=“${element}”]`);
const val=(el.value)?parseInt(el.value,10)-1:0;
el.value=Math.max(parseInt(el.getAttribute(“min”),10),val);
}
正文{
宽度:100%;
高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
/*重置*/
输入[type=“number”]{
-moz外观:textfield;
}
输入[type=“number”]::-webkit内部旋转按钮,
输入[type=“number”]::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
输入[type=“number”]:悬停::-webkit内部旋转按钮,
输入[type=“number”]:悬停::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
/*数量输入*/
.输入号码按钮{
宽度:150px;
高度:35px;
显示器:flex;
证明内容:之间的空间;
对齐项目:居中;
边框:1px实心变量(--Grey2)
}
.输入数字按钮输入[type=“number”]{
宽度:65%;
身高:100%;
边界:0;
文本对齐:居中;
位置:相对位置;
背景颜色:粉红色;
填充:10px;
}
.输入数字按钮输入[type=“number”]:焦点,
.输入号码按钮:焦点{
大纲:无;
}
.输入号码按钮{
边框:1px实心透明;
字体大小:25px;
位置:相对位置;
背景色:var(--mainWhite);
}
.输入数字按钮。向下输入箭头,
.输入数字按钮。向上输入箭头{
宽度:35%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.输入数字按钮。向上输入箭头{
背景颜色:橙色;
}
.输入数字按钮。向下输入箭头{
背景色:淡褐色;
}
.输入数字按钮范围{
宽度:100%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}

-
+

您还可以像下面这样优化您的解决方案。:-)

函数incDec(元素、类型){
设el=document.querySelector(`[name=“${element}”]`);
让数据=“”;
如果(类型=='inc'){
数据=!el.value&&!isNaN(el.value)?0:parseInt(el.value)+1;
}否则{
数据=!el.value&&!isNaN(el.value)?0:parseInt(el.value)-1;
}
el.值=数据;
}
正文{
宽度:100%;
高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
/*重置*/
输入[type=“number”]{
-moz外观:textfield;
}
输入[type=“number”]::-webkit内部旋转按钮,
输入[type=“number”]::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
输入[type=“number”]:悬停::-webkit内部旋转按钮,
输入[type=“number”]:悬停::-webkit外部旋转按钮{
-moz外观:无;
-webkit外观:无;
外观:无;
保证金:0;
}
/*数量输入*/
.输入号码按钮{
宽度:150px;
高度:35px;
显示器:flex;
证明内容:之间的空间;
对齐项目:居中;
边框:1px实心变量(--Grey2)
}
.input num