Javascript 无法从null读取属性“length”
在SuiteScript中,我试图运行保存的搜索,但出现了一个错误,无法从null读取属性“length”。 请参阅我的代码:Javascript 无法从null读取属性“length”,javascript,null,netsuite,Javascript,Null,Netsuite,在SuiteScript中,我试图运行保存的搜索,但出现了一个错误,无法从null读取属性“length”。 请参阅我的代码: if(search.length>0){ layout += '<tr height="1cm">'; layout += '</tr>'; layout += '<tr>'; layout += '<td align="right" border="0px" colspan="8" st
if(search.length>0){
layout += '<tr height="1cm">';
layout += '</tr>';
layout += '<tr>';
layout += '<td align="right" border="0px" colspan="8" style=\"font-size:12px;\">';
for(var x = 0;x<search.length;x++){
layout += iE(search[x].getText('account'))+'<br/>';
}
layout += '</td>';
}
我也试过这个代码,但结果是一样的
if(search!==null %% search.length!==null){
layout += '<tr height="1cm">';
layout += '</tr>';
layout += '<tr>';
layout += '<td align="right" border="0px" colspan="8" style=\"font-size:12px;\">';
for(var x = 0;x<search.length;x++){
layout += iE(search[x].getText('account'))+'<br/>';
}
layout += '</td>';
}
你应该做:
我搜索==null&&search.length==空的{
AND运算符为&&
也尝试
如果search&&search.length>0{您应该执行以下操作:
ifsearch!==null&&search.length!==null{
AND运算符为&&
也尝试
如果search&&search.length>0{请尝试使用&&
if(search!==null && search.length!==null){
尝试使用&&
if(search!==null && search.length!==null){
请按照@scarlet witch的建议将%%替换为(&A),并添加更多内容
我可以从您的问题中推断出,全局变量搜索在代码的某个点被设置为null,因为这是一个很大的问题,这里可能会出错,我建议使用并检查发生了什么
请更新您的问题,以便我们能够提供帮助。请按照@scarlet witch的建议将%%替换为&&并添加更多内容
我可以从您的问题中推断出,全局变量搜索在代码的某个点被设置为null,因为这是一个很大的问题,这里可能会出错,我建议使用并检查发生了什么
请更新您的问题,以便我们能够提供帮助。只需使用:ifsearch
注意,使用!==或===意味着JavaScript会同时检查变量类型和值
示例:
只需使用:ifsearch
注意,使用!==或===意味着JavaScript会同时检查变量类型和值
示例:
我想你应该检查一下它是否是数组
function isArray(obj){
return !!obj && Array === obj.constructor;
}
并在if语句中使用它,如
if(isArray(search)){
// implementation
}
我不知道为什么要检查search.length!==null如果要检查数组中是否有元素,则应按search.length>=0进行检查
除非显式设置ArrayVar.length=null,否则ArrayVar.length永远不能为null。默认情况下,它将为0。我想您应该检查它是否为数组
function isArray(obj){
return !!obj && Array === obj.constructor;
}
并在if语句中使用它,如
if(isArray(search)){
// implementation
}
我不知道为什么要检查search.length!==null如果要检查数组中是否有元素,则应按search.length>=0进行检查
除非显式设置ArrayVar.length=null,否则ArrayVar.length永远不能为null。默认情况下,它将为0。当执行到达此行时,搜索可能未定义。请尝试使用
if(typeof search !== "undefined" && search.length!==null){
当执行到达此行时,搜索可能未定义。请尝试使用
if(typeof search !== "undefined" && search.length!==null){
如何填充搜索变量?它应该是搜索结果吗 当您的搜索没有匹配结果时,nlapiSearchRecord返回null 检查这一点的最简单方法如下: if search&&search.length{ //过程结果 } 每当我处理搜索和结果时,我遵循的模式是创建一个执行搜索并始终返回数组的函数,以及另一个包含处理单个搜索结果逻辑的函数 功能查找记录{ 变量过滤器=[…]; var列=[…]; //“||[]”子句确保我们总是返回一个数组,而不是null 返回NLAPISearchRecordType,null,筛选器,列| |[]; } 函数processResultresult{ //处理单一结果 } //运行搜索并处理所有结果 findRecords.mapprocessResult;
您可以在此处阅读有关处理null的更多信息:如何填充搜索变量?它应该是搜索结果吗 当您的搜索没有匹配结果时,nlapiSearchRecord返回null 检查这一点的最简单方法如下: if search&&search.length{ //过程结果 } 每当我处理搜索和结果时,我遵循的模式是创建一个执行搜索并始终返回数组的函数,以及另一个包含处理单个搜索结果逻辑的函数 功能查找记录{ 变量过滤器=[…]; var列=[…]; //“||[]”子句确保我们总是返回一个数组,而不是null 返回NLAPISearchRecordType,null,筛选器,列| |[]; } 函数processResultresult{ //处理单一结果 } //运行搜索并处理所有结果 findRecords.mapprocessResult;
您可以在此处阅读有关处理null的更多信息:尝试将“搜索”记录到控制台,看看它是什么意思?抱歉,NetSuite中的新手必须执行ifsearch尝试将“搜索”记录到控制台,看看它是什么意思。抱歉,NetSuite中的新手必须执行ifsearch