null,NAN,undefined
2021-03-30 本文已影响0人
肥羊猪
viewui
框架的<InputNumber v-model=“num”/>
如果num
表示为undefined
,那么,页面就会默认数字1
,并且是个假的1
,实际上还是需要输入的。
比如:
<FormItem label="首次邀请奖励" prop="bizExt.customerAwardConfig.firstInviteReward" :label-width="160">
<InputNumber :disabled="isLook" v-model="formValidate.bizExt.customerAwardConfig.firstInviteReward" placeholder="请输入"></InputNumber>
</FormItem>
<script>
data(){
return{
formValidate: {
bizExt: {
customerAwardConfig: {
firstInviteReward:undefined// 如果改成null就不会出现默认值1,因为它表示此处不该有值
// 而undefined表示此处应该有一个值,但是还没有定义。所以就被默认值了
}
}
},
ruleValidate: {
'bizExt.customerAwardConfig.firstInviteReward': [
{ required: false,type: 'integer', message: '首次邀请奖励必须为正整数', trigger: 'change' },
],
}
}
}
</script>
undefined的情况.png
5+undefined // NaN
Number(undefined) // NaN
null
和undefined
基本是同义的,只有一些细微的差别
null
表示"没有对象",即该处不应该有值
作为函数的参数,表示该函数的参数不是对象。
作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
// null
undefined
表示"缺少值",就是此处应该有一个值,但是还没有定义。
not defined
:没有声明和定义,会报错 Uncaught ReferenceError: a is not defined.
1)变量被声明了,但没有赋值时,就等于undefined。
2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
3)对象没有赋值的属性,该属性的值为undefined。
4)函数没有返回值时,默认返回undefined。
var i;
i // undefined
function f(x){console.log(x)}
f() // undefined
var o = new Object();
o.p // undefined
var x = f();
x // undefined
NaN
代表非数值的特殊值,用于指示某个值不是数字
NaN与其他数值进行比较的结果总是不相等的,包括自身在内
用isNaN()
全局函数来判断一个值是否为NaN
值