首页 > 解决方案 > if 语句的问题

问题描述

我有一个简单的javascript,它将检查变量是否为空,如果为空,则为变量分配一个随机字符串

我有一些代码,但是当变量为空而不是随机脚本时,它一直显示为 null

var myId = getParameterByName('check');

// The functions

if (myId) 
{ 
    var myId = function  () 
    {
        return Math.random().toString(36).substr(2);
    }
}

预期结果是如果 check 为 =5,则变量 myId 应等于 5,如果 check 等于 null 或为空,则 myId 变量应为随机字符串

标签: javascriptif-statement

解决方案


这是你想要的吗?

var id1, id2 = 0, id3 = 'something', id4 = false;

function getParameterByName(varToCheck){
  if(varToCheck != undefined && varToCheck != null){
    return varToCheck;
  } else {
    return Math.random().toString(36).substr(2);
  }
}

console.log(getParameterByName(id1)); // Outputs a random string
console.log(getParameterByName(id2)); // Outputs 0 as it exists (is falsy but exists)
console.log(getParameterByName(id3)); // Outputs "something"
console.log(getParameterByName(id4)); // Outputs false

推荐阅读