我正在尝试根据所选产品对我的产品详细信息对象进行分类。
if (prodCode.startsWith("1") || prodCode.startsWith("4")) {
ProductDetails = obj.MachineDetails;
}
else if (prodCode.startsWith("6")) {
if (prodCode.charAt(3) == '3' || prodCode.charAt(3) == '4') {
ProductDetails = obj.BoxDetails;
}
else {
ProductDetails = obj.SomeDetails;
}
}
else if (prodCode.startsWith("2") || prodCode.startsWith("3")) {
ProductDetails = obj.SomeOtherDetails;
}
它在Android 4.4上工作正常但在android 4.4中出错:
对象1011没有方法' startsWith'
1011
是我的产品代码。
有没有人知道为什么会这样?
答案 0 :(得分:0)
在Android版本之间,javascript引擎并不总是相同,并且最新功能并不总是可用。
我遇到了同样的问题:你必须在调用startsWith之前添加一个polyfill。
检查Mozilla页面上的polyfill部分:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
答案 1 :(得分:0)
根据http://kangax.github.io/compat-table/es6/#test-String.prototype.startsWith String.prototype.startsWith
可能没有在android 4.4中实现。您可以使用console.log(typeof String.prototype.startsWith === 'function')
进行检查。