对象1011没有方法' startsWith'

时间:2017-10-11 07:50:00

标签: javascript angularjs ionic-framework

我正在尝试根据所选产品对我的产品详细信息对象进行分类。

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是我的产品代码。

有没有人知道为什么会这样?

2 个答案:

答案 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')进行检查。