我使用使用下划线的遗留代码。我试图在代码中添加一个if else语句,它将检查json是否返回任何值,如果不是,它将不返回任何值(因此为空div)。
这是我的代码:
<% if(!_.isNull(datas.Recent)) {%>
<div></div>
<% } else { %>
<div class="contents"><%=datas.Recent%</div>
<% } %>
此代码似乎只运行if语句,因为代码而使我感到困惑。
<% if(datas.Recent) {%>
<div class="contents><%=datas.Recent%</div>
<% } %>
返回值/是否有效,因为它是原始遗留代码的一部分。知道我在使用if else语句时出错了吗?
答案 0 :(得分:1)
您的datas.Recent
可能是某个this question值,但不是null。如果它是false
,空字符串或(很可能)undefined
,则它是假的,但不是空的。例如:
var notanull = false;
console.log(!notanull); // true
console.log(notanull === null); // false
console.log(!_.isNull(notanull)); // false
更有可能的是,您正在处理尚未赋值的对象属性。那将是undefined
。
var obj = {one: 'two'};
console.log(obj.three); // undefined
console.log(typeof(obj.three)); // 'undefined'
console.log(!obj.three); // true
console.log(obj.three === null); // false
console.log(_isNull(obj.three)); // false
答案 1 :(得分:0)
没有使用任何遗留代码,但在我看来
if(!_.isNull(datas.Recent))
如果为null,则返回false。如果我是编写代码的人,如果输入为null,则返回true,并且前面有一个not flag。
编辑:如果我正确地将其更改为
if(_.isNull(datas.Recent))
会解决它。