[]关于substr 建议

最近发现扩展的Laya.__substr() 会影响其他的类库。扩展的方法是否可以放在utils下,不要覆盖原生的方法。如果现在我把Laya.__substr()屏蔽那些地方会产生问题?
已邀请:

Laya_XS

赞同来自:

你覆盖先这个方法肯定在你用的时候回报错,我不太明白的是,你是在什么情况下报错,能提供一个报错的示例吗,我们查下问题。

calmLion

赞同来自:

很高兴你们能回复我的问题
 
现在暂时没发现报错,是发现在原生调用String.substr()时候发生些问题。
 
我举个例子:
 
let color='#FFFFFF'
 
原生: color.substr(0,0) -> '';

String.prototype.substr = Laya.__substr : color.substr(0,0) -> '#FFFFFF'
 
覆盖String 的substr 使一些需要取空值的操作没有了,对于第三方类库使用了原生substr的时候会有干扰。
 
建议建立独立的方法来扩展,不如覆盖原生方法
 

a694284699

赞同来自:

原生:"/7".substr(1, 0); => ""
Laya: "/7".substr(1, 0); => "7"
 
cao,这个破问题找了一整天

jacksing888

赞同来自:

我前天用react 也发现了这个问题 看了下源码也是因为他们覆盖了原生的sbustr 上次他们官方回复说下个版本会修复

cuixueying

赞同来自:

该问题已经修复,大家下载最新的引擎库、使用最新的laya.js.exe即可,感谢各位的反馈!

要回复问题请先

商务合作
商务合作