ModStart开源
ModStart开源
  • 发布:2022-12-08 17:58
  • 更新:2022-12-08 17:58
  • 阅读:356

uniapp编译小程序typeof不支持的问题

分类:uni-app

使用uniapp框架,编译后发现出现如下报错。

对 wxml 文档进行格式化,使用删代码调试的方法最终定位到了报错的内容为以下代码引起

<block wx:if="{{typeof 'a'==='string'&&item.m1==='object'}}">

再进一步排查,发现是对行内判断 typeof 不支持微信小程序造成的。

在 JavaScript 中,typeof 是一个运算符,用于返回一个表示操作数的类型的字符串。它可以用于检查一个值的数据类型,例如:

typeof 5 // 返回 "number" typeof "hello" // 返回 "string"
typeof 运算符可以用于检查任何数据类型,包括原始类型(如数字、字符串、布尔值等)和复杂类型(如对象、数组、函数等)。

然而,由于各个平台对 JavaScript 的支持情况不同,因此 UniApp 中的 JavaScript 代码并不能在所有平台上运行。例如,在微信小程序中,您可能无法使用某些 JavaScript 特性,包括行内 typeof 运算符。

最终解决办法为定义一个方法,在行内调用方法而避免直接调用 typeof。如下所示

<block wx:if="{{getType('a')==='string'&&item.m1==='object'}}">

在页面中定义函数

export default{  
  // ...  
  methods: {  
    getType(v){  
      return typeof v;  
    }  
  }  
  // ...  
}
0 关注 分享

要回复文章请先登录注册