我的控制台上出现此错误

以下是我正在使用的代码片段

JAVASCRIPT

get_items:函数(item_code)

if (key) {
        if (key.length == 13){
            if (key.startsWith('221')){
                    return $.grep(this.item_data, function (item) {
                    if(item.barcode !== null && item.barcode !== '') {

                           if (item.barcode.substr(0,7) == key.substr(0,7)) {
                                    pesokg1 = key.substr(7,6)

                                    if (pesokg1.startsWith('0000')){
                                            pesokg='0.' + pesokg1.substr(4)
                                    }else if (pesokg1.startsWith('000')){
                                            pesokg='0.' + pesokg1.substr(3)
                                    }else if (pesokg1.startsWith('00')){
                                            pesokg='0.' + pesokg1.substr(2)
                                    }else if (pesokg1.startsWith('0')){
                                            pesokg=pesokg1.substr(1,1) +'.' + pesokg1.substr(2,pesokg1.length)
                                    }else if (!pesokg1.startsWith('0')){
                                            pesokg=pesokg1.substr(0,2) +'.' + pesokg1.substr(2,pesokg1.length)

                                    }

                                    search_status = false;
                                    return true
                            }
                    }
                    })

            }
      }

最佳答案

好像线

if(item.barcode !== null && item.barcode !== '') {


缺少商品没有条形码的情况。所以要么添加未定义的检查

if(item.barcode !== null && item.barcode !== undefined && item.barcode !== '') {
  /* the code */
}


或只是使用真实检查

if(item.barcode) {
  /* the code */
}

关于javascript - 未捕获的TypeError:无法读取未定义的属性'substr'(javascript),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57974387/

10-12 16:41