小编典典

布尔变量从javascript函数以字符串形式返回

javascript

为什么我返回的是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>

阅读 253

收藏
2020-05-01

共1个答案

小编典典

您无需声明status状态变量。

因此,全局一个(window.status)被覆盖。

但是,[HTML5规范]将该属性定义为DOMString:

interface Window : EventTarget {
  attribute DOMString status;
};

因此,它具有一个设置器(公开的或内部的),用于存储字符串化的值。

要解决此问题,只需使用var语句声明您的局部变量。

2020-05-01