This question already has answers here:
Can't populate array called `status`
(3个答案)
7个月前关闭。
为什么我返回的是JavaScript函数中的 bool(boolean) 变量,为什么在调用函数中将其检测为字符串,但是如果我返回 bool(boolean) 文字,则调用函数会将其检测为 bool(boolean) 值?
因此,例如:
因此,它有一个 setter (公开或内部),用于存储字符串化值。
要修复它,只需使用
(3个答案)
7个月前关闭。
为什么我返回的是JavaScript函数中的 bool(boolean) 变量,为什么在调用函数中将其检测为字符串,但是如果我返回 bool(boolean) 文字,则调用函数会将其检测为 bool(boolean) 值?
因此,例如:
$( document ).ready(function(){
$('#result').text(typeof validate());
$('#result2').text(typeof validate2());
});
function validate(){
status = true;
status = false;
return status;
}
function validate2(){
return true;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Hello</p>
<div id="result"></div>
<div id="result2"></div>
最佳答案
您无需声明status
状态变量。
因此,全局变量( window.status
)被覆盖。
但是,HTML 5 spec将该属性定义为DOMString:
interface Window : EventTarget {
attribute DOMString status;
};
因此,它有一个 setter (公开或内部),用于存储字符串化值。
要修复它,只需使用
var
statement声明局部变量。关于javascript - bool 变量从javascript函数返回为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29685364/