开发者工具到底支持哪些JS,为什么区别对待
发布于 5 年前 作者 bzou 8012 次浏览 来自 问答

数组的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并使用的

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

6 回复

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

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

比如你写的arr.push(“1”)

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

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

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

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

回到顶部