收藏
回答

判断一个变量是否有值

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 工具 6.5.3 2.2.5


小程序如何判断一个变量是否有值呢?

globalData:{

userInfo:{},

flag:null,

isCertify:0,

freedepositNum:0,

isAlert:0

},



userinfo之后会这样设置值

that.globalData.userInfo['id'] = data.ID;

that.globalData.userInfo['NickName'] = data.NickName;

that.globalData.userInfo['HeadUrl'] = data.HeadUrl;

that.globalData.isCertify = data.isCertify;

that.globalData.freedepositNum = data.freedepositNum;

that.globalData.flag = 2;



if(this.globalData.userInfo == {}){


wx.navigateTo({

url: '/pages/certify/certify',

})

}

我现在是这样判断的,应该是咋判断啊?


请指教

最后一次编辑于  2018-09-20  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • 卢霄霄
    卢霄霄
    2018-09-20

    https://www.baidu.com/s?wd=js+%E5%88%A4%E6%96%AD%E5%AF%B9%E8%B1%A1%E6%98%AF%E5%90%A6%E6%9C%89%E5%80%BC&tn=98012088_5_dg&ch=11

    2018-09-20
    赞同 1
    回复 11
    • 与不停雨
      与不停雨
      2018-09-20

      能不能不要踢皮球,,,,,

      2018-09-20
      回复
    • 卢霄霄
      卢霄霄
      2018-09-20回复与不停雨

      能不能自己查,,,,,

      2018-09-20
      回复
    • 与不停雨
      与不停雨
      2018-09-20回复卢霄霄

      我自己恩能够查出来,就不在这问了

      2018-09-20
      回复
    • 卢霄霄
      卢霄霄
      2018-09-20回复与不停雨

      你说的很有道理

      if  (JSON.stringify(this.globalData.userInfo) == "{}")

      另外,为啥不判断下 userInfo里的值呢,比如

      if (this.globalData.userInfo.id)

      2018-09-20
      2
      回复
    • 与不停雨
      与不停雨
      2018-09-20回复卢霄霄

      哈哈,稍等,我测试一下

      判断里面的值,,或许也可以

      2018-09-20
      回复
    查看更多(6)
  • 微盟
    微盟
    2018-09-20

    使用这个方法试一下


    isEmptyObject(obj) {

    for (let i in obj)

                return !1

            return !0

    }


    if(isEmptyObject(this.globalData.userInfo)){

          //空对象

    }else{

         //对象有值

    }


    2018-09-20
    赞同 1
    回复 6
    • 与不停雨
      与不停雨
      2018-09-20

      好的,稍等,测试一下

      2018-09-20
      回复
    • 与不停雨
      与不停雨
      2018-09-20回复与不停雨




      报错了a

      2018-09-20
      回复
    • 与不停雨
      与不停雨
      2018-09-20回复与不停雨




      这是我那你的代码测试的

      2018-09-20
      回复
    • 微盟
      微盟
      2018-09-20回复与不停雨

      isEmptyObject 是个函数 你怎么调用的 截图发一下

      2018-09-20
      回复
    • 微盟
      微盟
      2018-09-20回复微盟

      isEmptyObject 和 isLogin 是平级的

      2018-09-20
      回复
    查看更多(1)
  • Blend
    Blend
    2018-09-20

         

    var flag =true
    var obj={a:1,b:2,c:null}
    for(i in obj){
        console.log(obj[i])
      if(!obj[i]){flag =false}
    }
    flag // 是true 就是都有值 反之就是有某一个/几个没值


    2018-09-20
    赞同 1
    回复 1
    • 与不停雨
      与不停雨
      2018-09-21

      恩恩,明白明白,多谢多谢!

      2018-09-21
      回复
  • 与不停雨
    与不停雨
    2018-09-20

    大神,你写的好高深啊,小弟都看不懂呢,,,

    2018-09-20
    赞同
    回复
  • 沙骑马
    沙骑马
    2018-09-20

    Object.keys(对象名).length

    2018-09-20
    赞同
    回复 1
    • 与不停雨
      与不停雨
      2018-09-20

      ok的,这样也行呢!!!!!


      多谢多谢!!

      2018-09-20
      回复
  • 抬头向前看
    抬头向前看
    2018-09-20

    var c = {

    a: 'a'

    };

    if (JSON.stringify(c) == "{}") {

    console.log(7);

    } else {

    console.log(8);

    }

    var d = {};

    if (JSON.stringify(d) == "{}") {

    console.log(7);

    }


    2018-09-20
    赞同
    回复 1
    • 与不停雨
      与不停雨
      2018-09-21

      这个JSON.stringify是js自带的函数吗,不太了解js

      2018-09-21
      回复
  • Ronaldo
    Ronaldo
    2018-09-23

    this.globalData.userInfo.length== undefined

    直接这样判断不就解决了

    2018-09-23
    赞同
    回复
  • 明天见
    明天见
    2018-09-27

    lodash.js 有许多常用方法,包括判断 key 是否存在(https://lodash.com/docs/4.17.10#has),或者 key 是否 value。

    有各种方法判断业务逻辑,例如添加 flag 值,字符串比较等,都是能达到目的。

    2018-09-27
    赞同
    回复 3
    • 与不停雨
      与不停雨
      2018-09-27

      您这是关于js的网站,小程序里面的js跟真正的js还是有区别的吧

      2018-09-27
      回复
    • 明天见
      明天见
      2018-09-27回复与不停雨

      小程序里无法使用 lodash 的 full 版本,但可以使用 core 版本。 key 判断,value 判断,对象 clone 等等都是有的。要什么小功能,翻翻文档,很快就能处理好。

      2018-09-27
      回复
    • 与不停雨
      与不停雨
      2018-09-27回复明天见

      恩呢,好的好的,多谢多谢大神

      2018-09-27
      回复