收藏
回答

没有声明的变量直接赋值使用,会被定义为全局变量

https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/02variate.html


这里面有说到没有声明的变量直接赋值使用,会被定义为全局变量

我试了以下代码:

var format = function (account) {
  hello = 'hello1'
}
console.log(hello)

ide提示:

VM3121:1 ReferenceError: hello is not defined


所以这句话,有问题吗?还是我理解错误了

回答关注问题邀请回答
收藏

3 个回答

  • 陈
    2020-02-27

    应该是这样

    var a=b;

    然后b就变成了全局变量

    2020-02-27
    有用 1
    回复 2
    • 90后杜哥
      90后杜哥
      2020-02-27
      试过了,也是提示未定义
      2020-02-27
      回复
    • 陈
      2020-02-27回复90后杜哥
      那就不知道具体怎么搞了
      2020-02-27
      回复
  • 李
    2023-05-25
    var format = function (account) {
      hello = 'hello1'
    }
    format()
    console.log(hello) //'hello1'
    


    2023-05-25
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2020-02-27

    2020-02-27
    有用
    回复 8
    • 90后杜哥
      90后杜哥
      2020-02-27
      你这个代码说明了什么问题?
      2020-02-27
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-27回复90后杜哥
      我的不报错啊
      2020-02-27
      回复
    • 90后杜哥
      90后杜哥
      2020-02-27回复Mr.Zhao
      我只是截取了部分代码,我的意思是在wxs标签里console.log刚才在函数体里未申明的hello,提示未定义,与官方所讲的不一致,我想问的是这个
      2020-02-27
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-27回复90后杜哥
      这样可以了吧
      2020-02-27
      回复
    • 90后杜哥
      90后杜哥
      2020-02-27
      你没明白我的意思,你直接在你第5行下边console.log(hello),如果hello如官方所说没有声明的变量直接赋值使用,会被定义为全局变量,这边就会打印出值,而不是提示未定义
      2020-02-27
      回复
    查看更多(3)
登录 后发表内容
问题标签