-2

我声明了带有全局变量的javascript:

var IsUserAllowed = false;

我有一个功能:

function setSelectedIdsInput(inputLogicalId) {
   if (IsUserAllowed) {

这不起作用,我假设 IsUserAllowed 的值在字符串中。
所以我做了:

var isUserAllowedStr = IsUserAllowed.toString().toLowerCase();
if (isUserAllowedStr == "true") {

这行得通,因为我是java脚本的新手,所以我想知道比较这样的字符串是否可以。
这是因为这样做:

if (isUserAllowedStr.localeCompare("true")) {

也没有工作!

谢谢!

更新- 我怀疑全局变量是字符串而不是布尔值。这就是 if 失败的原因。当我发出警报(IsUserAllowed)时,输出为“假”

4

4 回答 4

1
var IsUserAllowed = false;

然后

function setSelectedIdsInput(inputLogicalId) {
   if (IsUserAllowed) {
       // something true
   } else {
       // something false
   }

或者

if(IsUserAllowed === true)

但它没用。

于 2013-10-22T14:02:18.917 回答
0

您的示例应该按预期工作。您可以在此 JSFiddle 中进行测试以自己测试:http: //jsfiddle.net/bT8hV/

var IsUserAllowed = false;
function setSelectedIdsInput() {
  if (IsUserAllowed) {
    alert('TRUE');
  }
  else {
    alert('FALSE');
  }
};
setSelectedIdsInput();
于 2013-10-22T14:07:20.197 回答
0

尝试:

if (isUserAllowed === true) {
}
于 2013-10-22T14:01:45.800 回答
0

isUserAllowed 是一个布尔值 ( true/ false):

你可以通过简单地检查它

if (isUserAllowed) { }

或者

if (isUserAllowed === true) { }
于 2013-10-22T14:02:52.290 回答