说我很简单form,我想检查是否form有变化.如果它改变submit它,否则阻止表单提交,所以我使用return而不是使用if-else我尝试使用的语句,ternary operation但不幸的是我遇到了错误,Uncaught SyntaxError: Unexpected token return但我不明白为什么这个错误?三元运算仅用于分配吗?在这方面不确定.以下只是我尝试做的一个示例.
var form_original_data = $("#frmProfile").serialize();
$("#frmProfile").on('submit', function(e) {
e.preventDefault();
$("#frmProfile").serialize() != form_original_data ? $("body").append('changed') : return;
})Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmProfile">
<input type="text" value="name" />
<input type="submit" value="Go" />
</form>Run Code Online (Sandbox Code Playgroud)
题
有没有办法return在三元运算符内部执行语句?
这是一件奇怪的事情,因为我觉得三元组就像if/else的简写,你可以return在if/else 中执行语句。
但出于某种原因,我无法return在三元运算符中执行语句:
常规 IF/ELSE:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else {
console.log('Not true');
}
}
Run Code Online (Sandbox Code Playgroud)
三元作为 IF/ELSE:
// THIS ALSO WORKS
function bar() {
true ?
console.log('This is true')
: console.log('Not true');
}
Run Code Online (Sandbox Code Playgroud)
上面的两个代码都可以正常工作。但是当涉及 return 时,会发生以下情况:
带返回的常规 IF/ELSE:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else { …Run Code Online (Sandbox Code Playgroud) Errors are illegal start of an expressionerror: not a statement';' expected我在takeStix()中收到有关if else语句的错误.
private int numStix;
public int getNumStix() {return numStix;}
public boolean takeStix(int number) {
( number <= 3 && number <= getNumStix() ) ? return true : return false;
}
Run Code Online (Sandbox Code Playgroud) 我有这个操作,它使我的模块崩溃
blop: function(variation) {
variation>0 ? return 'Positive' : return 'Negative';
}
Run Code Online (Sandbox Code Playgroud)
它出什么问题了 ?