我想让web/bundles/app/img
返回true,但它返回undefined。我的理解是<link rel="stylesheet" href="{{ asset('bundles/app/css/style.css') }}">
应该与checkNull1
的工作方式完全相同,而是使用变量来存储返回结果。我做错了什么?
感谢。
checkNull2
JSFiddle:http://jsfiddle.net/Ravvy/ah8hn2qy/
答案 0 :(得分:4)
你会陷入困境和解析#34; quirk&#34;。
在JavaScript中,简称为Automatic Semicolon Insertion或ASI。基本上这意味着JavaScript引擎会通过为您插入;
来尝试修复您的部分代码,并尽可能地终止语句。
当解析器找到尾随换行符时,return
,break
,throw
和continue
等语句将始终插入分号。
你的功能正陷入其中。引擎真正做的是:
function checkNull1(obj) {
return;
// Code below will not be used. it's dead.
}
因此,修复方法是将条件向上移动到与return
相同的行并进行更长期的修复,即使在此示例中没有违反此条款,但要记住始终使用虽然它有时是可选的,但也是一个分号。
function checkNull1(obj) {
return (obj.a === null &&
obj.b === null &&
obj.c === null);
}
答案 1 :(得分:1)
你的缩进导致了错误的行为。像这样的东西会起作用:
function checkNull1(obj) {
return (obj.a === null &&
obj.b === null &&
obj.c === null);
}
在Javascript中注意分号:http://es5.github.io/#x7.9