this.xxx is undefined(this.xxx is not defined)

今天分享这个问题,我目前见过的是分为两种情况 ;

第一种:是没有在data中定义这个变量或者属性。

第二种:就是在开发项目的时候,通常都会将一些变量封装到数组中在data中定义方便我们使用,

但是,有些时候需要在前端先处理数据再传后端的时候就会出现这样的情况,因为有时候我们在处理数据的时候需要进行判断这个数组里面的变量是不是为空串或者未定义,之后满足条件之后达到我们想要的效果,但是在重置表单(data中定义的数组)的时候我们也习惯用 this . xxx = { } 来清空我们的表单,但是之后就会出现当前这个问题了。

那么是为什么?

因为我们在之前的时候进行判断使用到了表单里面定义的变量,但是清空表单的时候这些变量就不存在了,当再次获取数据的时候重新进行判断的话就检测不到这些数组里面的属性,需要我们在之前判断的语句中加入

this . xxx . hasOwnProperty ( " 属性名 " )

来判断当前表单是否包含该属性,如果包含就为true,否则为false,如果不判断,在之前清空表单的时候它会默认表单是空的所以会检测不到该判断的属性是否存在,这样去判断之后为了检查某个对象是否拥有不在原型链上的自定义属性,就有必要用到 hasOwnProperty 方法,任何一个对象都具有该方法,它继承自 Object.prototype。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值