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

nullundefined基本是同义的,只有一些细微的差别
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

上一篇 下一篇

猜你喜欢

热点阅读