WXS与JS的区别

作者: Z_the | 来源:发表于2020-04-10 11:07 被阅读0次

1 WXS 的基础类库:

WXS只提供给开发者5个基础类库,分别是 console,Math,JSON,Number,Date,以及一些常用的全局变量和全局函数,数量不多,但已经能满足基本的数据操作要求,而对于复杂的数据操作,比如类定义和继承等,还是需要依靠逻辑层的 JS 脚本完成。

2 数组遍历

WXS 里,遍历数组只能通过for实现,而JS中的for in和for of不被支持,对于需要循环处理数据的场景,也可以通过数组的forEach方法实现遍历:

 var ary = [0, 1, 2];

 ary.forEach(function(i) {

  console.log(i);

 })

3 变量类型判断

由于WXS先天不支持使用 Array 对象,因此我们平常用于判断数组类型变量的语句[] instanceof Array也就不能使用了,而typeof []的输出结果是"object",并不能满足实际的开发要求。所幸我们还可以使用变量的 「constructor」属性进行类型判断:

[].constructor === Array  //true

4 性能差异

如前所说,小程序的架构分成了逻辑层和视图层,WXS 与JavaScript还有一个差异在于,它与WXML一同们于视图层,运行于同一个线程内,因此减少了跨线程通信的开销。这也是我们之所以优先采用WXS处理数据的原因之一。

5 平台差异

小程序在Android上,使用V8引擎解析和渲染 JavaScript; 而在iOS上,则是使用 JavaScriptCore,这两者在解析性能的表现上差异比较大,相对来说 V8 的性能比 JSC 要好得多,那么在 IOS 的小程序中,使用脱离 JavaScript 环境的 WXS,就会使性能有更多的提升,这也是WXS文档中提及 “在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍” 的具体原因

相关文章

  • WXS与JS的区别

    1 WXS 的基础类库: WXS只提供给开发者5个基础类库,分别是 console,Math,JSON,Numbe...

  • wx - 学习笔记

    wxml 文件 wxs 文件 js 文件 wxml 文件 wxs 文件 js 文件

  • 微信小程序自定义组件

    wxs 一种类似于js的小程序脚本语言。注意; wxs 文件不依赖于运行时的库。 wxs 与js是另外一门语言。 ...

  • 框架视图层(三)

    wxs 概览 仿js功能 页面渲染 数据处理 wxs模块、 .wxs文件 module 对象每个wxs都有内置的m...

  • 微信小程序wxs的使用(当页面数据渲染前添加js操作)

    小程序的wxs功能可以让wsmxl可以调用和编写js,基本上wxs和JS无关系,只是语法形式很相似。 如下写了两个...

  • 小程序 wxs文件

    1. 前言 wxs文件和 js 经常有人搞混,这里简单做个梳理 2. 是什么 what WXS(WeiXin Sc...

  • 小程序中使用wxs

    为什么要使用wxs?a:这样可以在wxml中调用方法,当前小程序只能{{}}的方式取值。b:wxs中的方法和js中...

  • 在WXS中遍历对象

    微信小程序提供了WXS语言,允许我们在WXML中执行简单的脚本,这在渲染时加工数据很有用,但是WXS没有JS功能强...

  • 小程序WXS脚本解析

    wxs脚本存在的意义是因为小程序的渲染机制决定的。小程序的webview 与 js逻辑渲染的分离导致小程序在某些场...

  • 小程序之-wxs

    wxs 官方解释 WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致...

网友评论

    本文标题:WXS与JS的区别

    本文链接:https://www.haomeiwen.com/subject/wmwlmhtx.html