js一个语句不执行?是不是哪里写错了?
发布于 4 年前 作者 vzhang 12971 次浏览 来自 问答


1 clickButton: function (e) {

2 var data = this.data.result;

3 if (e.target.id >= 'num_0' && e.target.id <= 'num_9')

4 {

5 data += e.target.id.split("_")[1]; //调试过程中发现此段代码好像不执行,请问是什么原因呢?result的值保持和第8行一致,但是却不会相加。

6 if(this.data.result = '0')

7 {

8 data = e.target.id.split("_")[1];

9 }

10 }

11 else{

12 console.log(e.target.id);

13 }

14 this.setData({result : data});

15 },

3 回复

第六行是if 赋值吗,判断是否相等用 == ,严格一点用===

第5行赋值已经执行,但是感觉没效果,为什么呢?因为第8行会永远执行重新给data赋值。因为第6行的判断条件永远成立,因为第6行的=号应该为==

e.target.id >= ‘num_0’ && e.target.id <= ‘num_9’ 你听说过 字符串这样比较的嘛,你拿两个数字类型的比较啊。

回到顶部