为什么我返回的是JavaScript函数中的布尔变量,为什么在调用函数中将其检测为字符串,但是如果我返回布尔文字,则调用函数会将其检测为布尔值?
因此,例如:
$( 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状态变量。
status
因此,全局一个(window.status)被覆盖。
window.status
但是,[HTML5规范]将该属性定义为DOMString:
interface Window : EventTarget { attribute DOMString status; };
因此,它具有一个设置器(公开的或内部的),用于存储字符串化的值。
要解决此问题,只需使用var语句声明您的局部变量。
var