收藏
回答

js一个语句不执行?是不是哪里写错了?


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 },


回答关注问题邀请回答
收藏

4 个回答

  • 十年
    十年
    2020-03-13

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

    2020-03-13
    有用 1
    回复 1
    • 張老泉
      張老泉
      2020-03-13
      谢谢啦,是判断,太傻了,看了半天,愣是没发现。
      2020-03-13
      回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-03-13

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

    2020-03-13
    有用 1
    回复 1
    • 張老泉
      張老泉
      2020-03-13
      汗== 谢谢啦,就是这么回事。
      2020-03-13
      回复
  • 微盟
    微盟
    2021-11-26

    使用try catch包住,查看问题

    2021-11-26
    有用
    回复
  • 好人二狗
    好人二狗
    2020-03-13

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

    2020-03-13
    有用
    回复 1
    • 張老泉
      張老泉
      2020-03-13
      js可以比较字符串的啊,转换成ASCII码依次比较,定义的时候id只有最后一位数字不同。
      2020-03-13
      回复
登录 后发表内容
问题标签