在页面的js文件的开头定义变量,不同于在data里定义吗?
发布于 7 年前 作者 uye 2243 次浏览 来自 官方Issues

有两个(页面的)js文件,不同之处是第二个文件的开头定义了两个变量,而且在data里定义了同名变量。经测试第二个文件里那两个变量的值是以开头定义为准的。这是什么原因。两个 js文件内容如下:

mypage1.js
-----------------------------
Page({
   data:{
     lcstr1; "abcd",
     lcstr2; "1234"
   },
   func1: function(){},
   func2: function(){}
})

mypage2.js
-----------------------------
var util = require("util.js")
const gd1 = getApp().globalData

Page({
   data:{
     val1; "abcd",
     val1; "1234",
     util: {},
     gd1:  {}
   },
   func1: function(){},
   func2: function(){}
})

[END]

3 回复

所以 gd1 == this.data.gd1 ??

我发现把变量放在 page() 的前面定义,有个好处:在js文件内的任何位置(任意层函数调用里)使用变量时不用加this.data在前面。只要不在 WXML 上使用,变量大可放在 page() 之前的位置定义。

每个字、字母都是认识的,组合在一起就看不懂了

回到顶部