这里面你把inp.value赋值给了一个局部变量,但之后你是给这个局部变量赋的值,而不是给inp.value,你的inp.value不会受到影响。所以这里if语句没有问题,问题出在了赋值语句没有写成inp.value。把if语句里的val改成inp.value就Ok了
inp.value是基本类型,基本类型赋值实现的是传值;val = inp.value只是把inp.value的值给了val,所以你只是修改了val的值。基础类型赋值是不会改变源数据的;只有引用类型的赋值是传址,修改才会引起源数据的变化。题主可以去看看红宝书里javascript的数据类型那块儿的内容。基本类型和引用类型
这里面你把
inp.value
赋值给了一个局部变量,但之后你是给这个局部变量赋的值,而不是给inp.value
,你的inp.value
不会受到影响。所以这里if语句没有问题,问题出在了赋值语句没有写成
inp.value
。把if语句里的
val
改成inp.value
就Ok了