鉴于此代码:
var x=5;
var fx=function(){
console.log("hey");
(function(){
if (x==5){
console.log('hi');
return;
}
})();
console.log('end');
};
fx();
如何以console.log
时未执行最终x==5
的方式返回?
我是javascript的新手,所以也许我错过了一些东西......
答案 0 :(得分:1)
你不能那样返回,而是你可以使用一个标志或使内部函数返回一个像
这样的值
var x = 5;
var fx = function() {
snippet.log("hey");
var flag = (function() {
if (x == 5) {
snippet.log('hi');
return false;
}
})();
//if the returned value is false then return
if (flag === false) {
return
}
snippet.log('end');
};
fx();

<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
答案 1 :(得分:1)
你可以将你的功能包装到一个条件
var x=5;
var fx=function(){
console.log("hey");
if( !(function(){
if (x==5){
console.log('hi');
return true;
}
})() ){
console.log('end');
}
};
fx();
<强> JSFIDDLE DEMO 强>
答案 2 :(得分:0)
var x = 5;
var fx = function() {
console.log("hey");
if (x == 5) {
console.log('hi');
return;
}
console.log('end');
};
fx();
&#13;
答案 3 :(得分:0)
你可以使用if语句,也可以根据你想要做的hwta
如果
var x=5; var fx=function(){
console.log("hey");
(function(){
if (x==5){
console.log('hi');
return;
}
})();
if(x != 5){
console.log('end');
} };
fx();
其他
var x=5;
var fx=function(){
console.log("hey");
(function(){
if (x==5){
console.log('hi');
return;
} else {
console.log('end');
}
})();
};
fx();