收藏
回答

开发者工具到底支持哪些JS,为什么区别对待

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1901170

数组的push()方法


在小程序里是不支持的,错误提示:

VM2206:1 thirdScriptError
Cannot read property 'push' of undefined; [Component] Event Handler Error @ pages/index/index#bound onTap
TypeError: Cannot read property 'push' of undefined


但为什么代码片段就可以呢????????

同样的代码啊


https://developers.weixin.qq.com/s/Ls4A3ImV7i5D


你们也可以试试,上面是代码片段


还有个莫名其妙的问题:

定义的全局数组,在开发工具里是可以log并使用的

但为什么在真机上就始终是空数组呢(有这个全局变量名)


最后一次编辑于  01-26
回答关注问题邀请回答
收藏

6 个回答

  • 楚君
    楚君
    04-07

    我也遇到了相同的报错,我有两个页面,一个试写页面,一个是列表页面,在列表页面定义的数组,在写页面把写的内容push到数组中,一开始报错,我输出数组发现数组是未定义的,后来发现是getcurrentPsge那里获取的页面不对,并没有获取到列表页面定义的数组,所以报错了,push是可以用的,应该是数组定义的原因,希望对你有用

    04-07
    赞同
    回复
  • 👾Clancy Lin
    👾Clancy Lin
    01-29

    Array.prototype.push 在小程序里也是有的因为我经常用


    我觉得这个问题的解决思路应该在前面的那个那个变量类型不是 array 或者是 undefined 之类的

    01-29
    赞同
    回复
  • 连胜
    连胜
    01-26

    可以看看官方文档的介绍:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/06datatype.html



    01-26
    赞同
    回复
  • 卢霄霄
    卢霄霄
    01-26

    比如你写的arr.push("1")

    你这个报错的意思是,arr是个undefined。。和push这个方法没关系

    01-26
    赞同
    回复
  • SHIELD
    SHIELD
    01-26

    先判断一下if(arr.push){}试试,照理是支持的。

    01-26
    赞同
    回复
  • จุ๊บ
    จุ๊บ
    01-26

    我再开发工具上测试,这两个代码片段都没有问题

    01-26
    赞同
    回复 1
    • 爱会多美
      爱会多美
      01-26

      代码片段没有问题,是把代码片段里的复制到小程序项目里就出现push的错误了

      难道是开发工具的原因?

      01-26
      回复