Javascript变量比较

时间:2013-10-22 13:59:04

标签: javascript

我声明了全局变量的javascript:

var IsUserAllowed = false;

我有一个功能:

function setSelectedIdsInput(inputLogicalId) {
   if (IsUserAllowed) {

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

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

这是有效的,因为我是java脚本的新手,我想知道它是否可以比较这样的字符串。
这是因为做了:

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

也没用!

谢谢!

更新 - 我怀疑全局变量是字符串而不是布尔值。这就是为什么如果失败了。当我做警报(IsUserAllowed)时输出为“False”

4 个答案:

答案 0 :(得分:1)

var IsUserAllowed = false;

然后

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

if(IsUserAllowed === true)

但是没用。

答案 1 :(得分:0)

尝试:

if (isUserAllowed === true) {
}

答案 2 :(得分:0)

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

您只需执行

即可查看
if (isUserAllowed) { }

if (isUserAllowed === true) { }

答案 3 :(得分:0)

您的示例应按预期工作。 你可以在这个JSFiddle中玩一下自己测试一下:http://jsfiddle.net/bT8hV/

var IsUserAllowed = false;
function setSelectedIdsInput() {
  if (IsUserAllowed) {
    alert('TRUE');
  }
  else {
    alert('FALSE');
  }
};
setSelectedIdsInput();