收藏
回答

.js中如何将一个变量的值赋给另一个变量?

操作系统 工具版本
Windows 1.2

原本主要是想实现跳转页面时参数传递的问题,总是传不过去,然后又采用全局变量,还是传不了,又测试了下发现,变量a的值竟然不能赋给变量b(我是用console.log查看b的),于是彻底崩溃了。

求教大家,在.js中如何将var a的值赋给var b?是a=b吗?(为什么我试了不行)

能给个页面传递变量值(是变量,不是一个常量)的栗子更好,谢谢。



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

8 个回答

  • ym
    ym
    2018-01-24

    方法一,在跳转时传 query 参数,B 页面中在生命周期方法 onLoad 中接收参数。

    wx.navigateTo({
      url: 'test?id=1'
    })
    Page({
      onLoad: function (option) {
        console.log(option.id)
      }
    })


    方法二,使用 Storage 传参。A 页面跳转前存储值,B 页面读取值并清除 Storage 。

    wx.setStorageSync('key', 'value')
    page({
      onShow: function () {
        wx.getStorageSync('key')
        wx.removeStorageSync('key')
      }
    })


    2018-01-24
    有用
    回复
  • 禹城苗方清颜专业祛痘
    禹城苗方清颜专业祛痘
    2018-01-24

    ES6

    let jack = 'I am male',mary = 'I am female';
    [jack,mary] = [mary,jack];
    console.log(`jack:${jack}`);
    console.log(`mary:${mary}`);


    2018-01-24
    有用
    回复
  • 刘洋洋
    刘洋洋
    2018-01-22

    如果有改变的话,两个都重新赋值


    2018-01-22
    有用
    回复
  • 陈超
    陈超
    2018-01-22

    不是同一个变量的话,我应该怎么修改呢?


    2018-01-22
    有用
    回复
  • 刘洋洋
    刘洋洋
    2018-01-22

    你用var 定义的变量和data:{}里面的变量是分开的,不是同一个变量


    2018-01-22
    有用
    回复
  • 陈超
    陈超
    2018-01-22

    还有两个问题想请教您:

    1、在bindChange函数中console.log(hour)这句运行后监控台显示为undefined,没有值。这个函数对应的是下面这个控件:

    <view>

    <view>{{hour}}时 : {{minute}}分</view>

    <picker-view indicator-style="height: 50px;" style="width: 100px; height: 300px;" value="{{value}}" bindchange="bindChange">

    <picker-view-column>

    <view wx:for="{{hours}}" wx:key="hours" style="line-height: 50px">{{item}}时</view>

    </picker-view-column>


    <picker-view-column>

    <view wx:for="{{minutes}}" wx:key="minutes" style="line-height: 50px">{{item}}分</view>

    </picker-view-column>

    </picker-view>

    </view>


    2、在

    //点击开始按钮事件函数

    enterChanging: function () {

    console.log("hour="+hour),

    wx.navigateTo({

    url: '../changing/changing?hour='+hour,

    })

    },

    中,我到changing页面的.js中onload函数中接受这个值时,接受不到,是我哪里错了吗?

    onLoad: function (option) {

    var key1 = option.hour;

    console.log(key1)

    },



    2018-01-22
    有用
    回复
  • 陈超
    陈超
    2018-01-22

    var app = getApp();

    const hours = []

    const minutes = []

    var hour

    var minute

    for (let i = 0; i <= 23; i++) {

    hours.push(i)

    }

    for (let i = 0; i <= 59; i++) {

    minutes.push(i)

    }


    // pages/main/main.js

    Page({


    /**

      * 页面的初始数据

      * 1、设置初始时间值

      */



    data: {

    hours: hours,

    hour: 0,

    minutes:minutes,

    minute: 0,

    value: [0, 0]


    },




    /**

      * 生命周期函数--监听页面加载

      */

    onLoad: function (options) {

    },



    //  点击时间组件确定事件  

    bindChange: function (e) {

    const val = e.detail.value

    this.setData({

    hour: this.data.hours[val[0]],

    minute: this.data.minutes[val[1]],

    }),

    console.log(hour)

    },


    //点击开始按钮事件函数

    enterChanging: function () {

    console.log("hour="+hour),

    wx.navigateTo({

    url: '../changing/changing?hour='+hour,

    })

    },


    2018-01-22
    有用
    回复
  • Jake
    Jake
    2018-01-22

    var a='123546';

    var b;

    b=a;这样就可以把a的值赋值给b了吧

    console.log("b=",b

    console.log("a=",a)

    2018-01-22
    有用
    回复
登录 后发表内容