if ((up_val==(i*""))||(up_val==(i*" ")))
如果upval=0~20个连续""或者0~20个连续" "
那么他就是空的======================
这个写法确实有点变态,第一次看到偶不是高手
如果upval=0~20个连续""或者0~20个连续" "
那么他就是空的======================
这个写法确实有点变态,第一次看到偶不是高手
调试欢乐多
<script>
String.prototype.Trim = function(){return this.replace(/^\s+|\s+$/g,"");}
function form_addlanmu()
{
var up_val=addlanmu.lanmu.value;
if (up_val.Trim()=='')
{
alert("输入为空,请重新输入!");
return false;
}
}
}
</script>
我是问他的结果为什么能正确,而不是问你该怎么判断
alert(4*"s");结果是NaN,而不是ssss呢NaN 属性 语言参考
版本 2
请参阅 应用于
--------------------------------------------------------------------------------描述
表示算术表达式返回非数字值的特殊值。
语法
number.NaN
number 参数是Number 对象.说明
在能够访问 NaN 属性前不必创建 Number 对象。
NaN 不与任何值相等,包括其本身。要检测值是否为 NaN,请使用 isNaN 函数。
结果是Number型
i*" " 解析为 i*(Number(" "))试试看:
alert(Number(""));
alert(Number(" "));
var s2=456;
alert(s1+s2)
alert(s1*1+s2)
alert(s1/1+s2)
alert(s1-0+s2)
<head>
<script>
function form_addlanmu()
{
for(i=1;i<20;i++){
up_val=addlanmu.lanmu.value;
if ((eval(up_val)==(i*""))||(eval(up_val)==(i*" ")))
{
alert("输入为空,请重新输入!");
return false;
}
}
}
</script>
</head><body topmargin="0" leftmargin="0">
<form action=lanmu_tianjia.asp method="post" name="addlanmu" >
<input type=text name=lanmu size="20"> <input type=submit value=添加新栏目 onclick="return form_addlanmu()">
</form></body></html>
这样就不行了
取addlanmu.lanmu.value为字符型而i*""为数值型
在javascript中
if (""==0){ } 是成立的