imu*_*ion 55 javascript syntax-error
运行此代码时,我收到一个非常奇怪的JavaScript错误:
<script type = 'text/javascript'>
var ask = confirm('".$message."');
if (ask == false)
{
return false;
}
else
{
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)
在JavaScript控制台中,它说:
Syntax Error: Illegal return statement
它发生在return true;和return false;
(我从php函数回应这个javascript; $message变量是php参数之一)
我的代码出了什么问题?
Nie*_*sol 85
return只在函数内部才有意义.您的代码中没有任何功能.
此外,如果冗余部门您的代码是值得的.假设你把它移到一个合适的函数,这会更好:
return confirm(".json_encode($message).");
Run Code Online (Sandbox Code Playgroud)
稍后编辑:更改的代码用于json_encode确保消息内容不会因为消息中的撇号而中断.
如果你想返回一些值,那么将你的语句包装在函数中
function my_function(){
return my_thing;
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用 PHP,问题出在第一行的语句上
var ask = confirm ('".$message."');
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用 PHP,您应该使用
var ask = confirm (<?php echo "'".$message."'" ?>); //now message with be the javascript string!!
Run Code Online (Sandbox Code Playgroud)
在 javascript 中,return 语句仅在函数块内使用。如果您尝试在独立的 if else 块中使用 return 语句,则会触发语法错误:JavaScript 中的非法 return 语句
这是我的示例代码,以避免此类错误:
<script type = 'text/javascript'>
(function(){
var ss= 'no';
if(getStatus(ss)){
alert('Status return true');
}else{
alert('Status return false');
}
function getStatus(ask){
if(ask=='yes')
{
return true;
}
else
{
return false;
}
}
})();
</script>
Run Code Online (Sandbox Code Playgroud)
请检查Jsfiddle示例
| 归档时间: |
|
| 查看次数: |
104582 次 |
| 最近记录: |