black201w
V2EX  ›  微信

微信小程序中点运算符和变量如何一起使用

  •  
  •   black201w · Aug 26, 2019 · 2916 views
    This topic created in 2450 days ago, the information mentioned may be changed or developed.
    var str = "abc";
    //console.log(this.data.str);
    console.log(this.data.abc);
    

    我想让控制台打印出 this.data.abc 的值,但是里面的 abc 从变量 str 中读取

    我要怎么写才能达到这种效果,谢谢各位大佬们了

    6 replies    2019-08-26 15:30:34 +08:00
    jifengg
        1
    jifengg  
       Aug 26, 2019
    建议你把问题描述清楚一点。完全看不懂你要什么效果
    black201w
        2
    black201w  
    OP
       Aug 26, 2019
    @jifengg
    就是我想通过对变量 str 赋值来控制下面
    ```console.log(this.data.abc) //abc 是 str 的值```
    中的 abc 这一串字符
    airyland
        3
    airyland  
       Aug 26, 2019
    就是指对象取值吧,this.data[str] 这样?
    black201w
        4
    black201w  
    OP
       Aug 26, 2019
    但是 str 这个变量要怎么写在这一句里面才能做到
    black201w
        5
    black201w  
    OP
       Aug 26, 2019
    @airyland 哇。。原来这样写就可以了,学校里都是 C 和 C++学的多所以对微信小程序这种贴近 JavaScript 的语法比较头疼。。总之,十分感谢!
    black201w
        6
    black201w  
    OP
       Aug 26, 2019
    贴一下完整一点的代码吧,方便一下跟我同样困惑的朋友


    //pages/page/page.js
    data: {
    p0: {
    latitude: 0,
    longitude: 0,
    scale: 18,
    },
    p1: {
    latitude: 1,
    longitude: 1,
    scale: 18,
    }
    },


    OnTap:function (e) {
    var str = e.currentTarget.id; //获取点击的按钮 ID 作为 str 的值
    console.log(this.data[str].latitude);
    console.log(this.data[str].longitude);
    },
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3418 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 11:58 · PVG 19:58 · LAX 04:58 · JFK 07:58
    ♥ Do have faith in what you're doing.