成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

小程序中的wxs語(yǔ)法

tanglijun / 1360人閱讀

摘要:官方解釋與是不同的語(yǔ)言,有自己的語(yǔ)法,并不和一致。的運(yùn)行環(huán)境和其他代碼是隔離的,中不能調(diào)用其他文件中定義的函數(shù),也不能調(diào)用小程序提供的。由于運(yùn)行環(huán)境的差異,在設(shè)備上小程序內(nèi)的會(huì)比代碼快倍。因?yàn)?,是的?shù)據(jù)類型語(yǔ)法是沒(méi)有的。

wxs 官方解釋

WXS 與 JavaScript 是不同的語(yǔ)言,有自己的語(yǔ)法,并不和 JavaScript 一致。

WXS 的運(yùn)行環(huán)境和其他 JavaScript 代碼是隔離的,WXS 中不能調(diào)用其他 JavaScript 文件中定義的函數(shù),也不能調(diào)用小程序提供的API。

WXS 函數(shù)不能作為組件的事件回調(diào)。

由于運(yùn)行環(huán)境的差異,在 iOS 設(shè)備上小程序內(nèi)的 WXS 會(huì)比 JavaScript 代碼快 2 ~ 20 倍。在 android 設(shè)備上二者運(yùn)行效率無(wú)差異

使用方法

wxs 代碼可以寫(xiě)在wxml 文件中 的標(biāo)簽內(nèi), 或者 以 .wxs 為后綴名的文件內(nèi)。(ps: 一般建議寫(xiě)在 .wxs 文件中

每個(gè) .wxs 文件 或者 標(biāo)簽都是一個(gè)多帶帶的模塊, 當(dāng)我們想在外部引入其中的私有變量或者函數(shù)時(shí), 需要 module.exports 實(shí)現(xiàn)。

示例代碼:

首先在tools.wxs 文件中這么編寫(xiě)

 // /pages/tools.wxs
 var foo = ""hello world" from tools.wxs";
 var bar = function (d) {
  return d;
}
 module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";

然后在 wxml 頁(yè)面中引用


{{tools.FOO}}
{{tools.bar(5)}}
{{tools.msg}}

頁(yè)面中會(huì)顯示

### 注意事項(xiàng)

wxs 跟js 相比還是有很多限制的。

比如:

不支持 es6 語(yǔ)法, 所以我們平常編碼過(guò)程中使用的 解構(gòu), 箭頭函數(shù)...都是不支持的。

定義變量只能用 var 或者不寫(xiě) 代表全局。因?yàn)?let ,cons是 es6 的

數(shù)據(jù)類型 wxs 語(yǔ)法是沒(méi)有 symbol null undefined 的。 其他的數(shù)據(jù)類型都支持。

具體都有:

number : 數(shù)值

string :字符串

boolean:布爾值

object:對(duì)象

function:函數(shù)

array : 數(shù)組

date:日期

regexp:正則

判斷wxs中的數(shù)據(jù)類型

我們知道 在 js 中判斷數(shù)據(jù)類型可以用 typeof && Object.prototype.toString.call()

typeof undefined === "undefined"   // true
typeof true      === "bollean"    // true
typeof 25        === "number"    // true
typeof "shit"      === "string" // true
typeof { name: "mars"} === "object"  // true

// 以及 es6中的Symbol 
typeof Symbol()  === "symbol"    // true


typeof function a() {} === "function"  // true

以上6種數(shù)據(jù)類型都有與之同名的字符串與之對(duì)應(yīng)。 但是 mull是 不再其中 的

typeof null === "object"    // true

我們知道當(dāng) 遇到 Array Date Object... 時(shí) typeof 都會(huì)識(shí)別為 object

此時(shí)需要 Object.prototype.toString.call()

但是在wxs 中 有屬性 constructor 會(huì)返回相應(yīng)數(shù)據(jù)類型的字符串

如圖:

更多詳細(xì)介紹戳

模塊只能在定義模塊的 WXML 文件中被訪問(wèn)到。使用 時(shí), 模塊不會(huì)被引入到對(duì)應(yīng)的 WXML 文件中。