升级到最新版HBuilder, 发现之前的功能在内置浏览器都不能正常运行了, 发现Array.prototype多了个方法, 有人碰到这个问题么? 有这个破玩意, 只能在外部浏览器测试了:(
这个人很懒
- 发布:2015-04-24 14:26
- 更新:2015-04-24 17:24
- 阅读:1329
莫名其妙Array对象多了个getHbuilderParentNodes方法
分类:HBuilder
4 个回复
DCloud_UNI_FXY
@DCloud_HB_一三
这应该是HBuilder为了实现某个特定功能,新增的一个内部函数。
通常在用for...in循环Array时,建议使用hasOwnProperty来判断识别一下。这样可以过滤掉那些扩展的属性。或者不使用for...in循环数组
(很多js框架为了方便,会扩展原生对象,尤其是Array,所以在for...in数组时,最好使用hasOwnProperty判断一下)
这个人很懒 (作者)
这么回复我就没话说了:(
用了一些第三方的开源组件, 如果都给修正一遍, 还不如我就不用内部浏览器测试了
DCloud_UNI_FXY
这是一个在目前情况下的建议。至于getHbuilderParentNodes之类函数将来是保留还是移除,需要各方面做取舍(之前回复中已经@ 了具体负责人)
我只是提供了一个解决类似问题的方案,为何还能搞得没话说了?
这个人很懒 (作者)
我尝试过修正这个库, 改不完啊, 太多地方用了for ... in遍历数组
2015-04-24 17:25
DCloud_UNI_FXY
我咨询了一下。该函数是为了实现在预览的时候,点击预览界面的元素,定位到编辑器里的代码行(该功能目前仅windows可用)。
已经把这个问题通知到具体负责人,他会再看看有没有其他办法,如果有其他办法,那么会取消此类扩展函数。
2015-04-24 17:37
这个人很懒 (作者)
临时用 delete Object.prototype.getHbuilderParentNodes; 可以解决, 不过这样直接扩展最底层的Object, 真不是好办法, 估计会影响一大片:)
2015-04-26 14:59
DCloud_UNI_FXY
下个版本会在仅用到此函数的时候才扩展,使用后自动删除。
2015-04-26 16:34
这个人很懒 (作者)
建议还是别随便给Array加扩展方法, 本来用着挺好的, 加了这个东西, 直接边改边看就废了