为什么这个类不返回false|| true
Why this class does not return false|| true?
我有这个类
Class.V = function(v) {
if (v.BooleanValue == true) {
v.Success();
} else {
v.Fail();
}
return Class;
}
我有一个按钮,它将执行一个函数,将返回true或false与窗体处理或不处理。
<input type="submit" onclick="return check()" Value="Check" />
function check() {
Class.V({
BooleanValue: true,
Success: function() {
return true;
},
Fail: function() {
return false;
}
})
但它确实有效。
function check() {
Class.V({
o: true,
Success: function() {
results = true;
},
Fail: function() {
results = false;
}
return results;
//now works as expected
})
为什么会这样?
根据您当前的代码,您必须从外部函数传播内部函数的返回值:
Class.V = function(v)
{
if (v.BooleanValue) {
return v.Success();
} else {
return v.Fail();
}
return Class;
}
需要将v.Success
和v.Fail
函数的返回值进一步返回给Class.V
:
if (v.BooleanValue) {
return v.Success();
// ^ return here
} else {
return v.Fail();
// ^ and here
}
你需要返回你的方法的值:
Class.V = function(v)
{
if(v.BooleanValue==true)
{
return v.Success();
}
else{
return v.Fail();
}
}
return
只影响当前函数调用,不影响链。在第一个代码块的情况下,return true;
只从匿名回调返回。你必须把它传递下去。像这样:
Class.V = function(v) {
return v.BooleanValue ? v.Success() : return v.Fail();
}
function check() {
return Class.V({
BooleanValue: true,
Success:function() {
return true;
},
Fail:function() {
return false;
}
})
}
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- JavaScript-切换“;全部检查”;复选框true/false
- (false==false==true)怎么可能是真的
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 什么是'true'和'false'和'null'
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 在JavaScript中为true==1和false==0
- true==false以某种方式计算为true
- 获取Javascript中单选按钮的true或false
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 如何使函数将属性值从 FALSE 设置为 TRUE
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 在 JavaScript 中,为什么 []==false 为 true
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- Javascript 布尔值:false && true 结果为 true
- 覆盖保留字(设置 false = true)
- 为什么这个类不返回false|| true