模式返回var &&var = = = & # 39;一些# 39;在javascript
meaning of pattern return var && var ==='something' in javascript
在一个函数中,我看到了return myVar && anotherVar === 'error';
该语句是否返回true/false取决于&&在计算了两个条件后,语句的值是真还是假?如果a和b都为真,返回结果应该为真,对吧?我是这样认为的,但是当我在chrome控制台测试它时,当我做var a = 'abc', b = '123';
然后做return a && b;
时,我得到了Uncaught SyntaxError: Illegal return statement
的错误
任何想法吗?
不需要同时计算这两个条件。javascript中的逻辑运算符使用一种叫做短路求值的东西,这样系统只在能够仅根据第一个条件确定结果时才运行第一个条件。代码相当于:
if (myVar)
{
//if the first condition fails we never enter the block
// and never check this condition
if (anotherVar === 'error')
{
return true;
}
}
return false;
这是一种常见的模式,一旦你见过几次就很容易理解,因此,使用你遇到的问题的简短形式几乎总是比从这个答案中写出整个混乱的形式更好。
对于您的测试,而不是调用return
,只调用debug.print
或debug.log
的结果。
你得到这个错误,因为你没有使用return
函数内,尝试在任何控制台中:
function foo() {
var a = "abc", b = "123";
return a && b;
};
foo();
根据&&
的问题,这是一个逻辑与运算符,如果第一个(a
)在这种情况下是false
,第二个将不会被计算。
相关文章:
- javascript中对象构造函数中的var属性与this.properties
- JavaScript-的含义:var DndUpload=函数(inputElem){};
- Understanding Javascript scope with "var that = this&qu
- 如何使用javascript var引用Mongo DB集合's字段
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 更改json/javascript对象var名称或从数字var中检索值
- JavaScript中let和var之间的区别
- php中的javascript var太长
- Javascript,var name=1,“;类型名称“;给出“;字符串”;
- 如何让这个javascript var在HTML页面上工作
- 将var javascript转换为java变量
- 如何使用 onchange 在 var javascript 中检查 (.) 句号
- 如何使用var javascript更新输入类型=“文本”值甚至更改
- 如何将函数名称与 var javascript 连接
- 如何在 appendTo 中添加 var javascript
- 如何在 innerHTML 中使用 var javascript
- PHP var->Javascript->PHP
- 控制器和输入表单html使用var Javascript
- 当变量已经是一个参数时,是否应该使用var (Javascript)