国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

小程序中的wxs語法

tanglijun / 1292人閱讀

摘要:官方解釋與是不同的語言,有自己的語法,并不和一致。的運行環境和其他代碼是隔離的,中不能調用其他文件中定義的函數,也不能調用小程序提供的。由于運行環境的差異,在設備上小程序內的會比代碼快倍。因為,是的數據類型語法是沒有的。

wxs 官方解釋

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

WXS 的運行環境和其他 JavaScript 代碼是隔離的,WXS 中不能調用其他 JavaScript 文件中定義的函數,也不能調用小程序提供的API。

WXS 函數不能作為組件的事件回調。

由于運行環境的差異,在 iOS 設備上小程序內的 WXS 會比 JavaScript 代碼快 2 ~ 20 倍。在 android 設備上二者運行效率無差異

使用方法

wxs 代碼可以寫在wxml 文件中 的標簽內, 或者 以 .wxs 為后綴名的文件內。(ps: 一般建議寫在 .wxs 文件中

每個 .wxs 文件 或者 標簽都是一個多帶帶的模塊, 當我們想在外部引入其中的私有變量或者函數時, 需要 module.exports 實現。

示例代碼:

首先在tools.wxs 文件中這么編寫

 // /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 頁面中引用


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

頁面中會顯示

### 注意事項

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

比如:

不支持 es6 語法, 所以我們平常編碼過程中使用的 解構, 箭頭函數...都是不支持的。

定義變量只能用 var 或者不寫 代表全局。因為 let ,cons是 es6 的

數據類型 wxs 語法是沒有 symbol null undefined 的。 其他的數據類型都支持。

具體都有:

number : 數值

string :字符串

boolean:布爾值

object:對象

function:函數

array : 數組

date:日期

regexp:正則

判斷wxs中的數據類型

我們知道 在 js 中判斷數據類型可以用 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種數據類型都有與之同名的字符串與之對應。 但是 mull是 不再其中 的

typeof null === "object"    // true

我們知道當 遇到 Array Date Object... 時 typeof 都會識別為 object

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

但是在wxs 中 有屬性 constructor 會返回相應數據類型的字符串

如圖:

更多詳細介紹戳

模塊只能在定義模塊的 WXML 文件中被訪問到。使用 時, 模塊不會被引入到對應的 WXML 文件中。