eval5:https://github.com/bplok20010/eval5
类似js的eval方法,小程序有吗?类似js的eval方法,可以动态调用方法,小程序有吗?
2021-05-07eval5: js实现的js解释器 https://github.com/bplok20010/eval5
小程序为了安全把 eval 禁了是否能做个沙箱执行动态 JavaScript?小程序为了安全把 eval Function 禁了,是否能做个沙箱执行动态 JavaScript?好比 nodejs 的 VM 模块。 既然 wxs 都实现了,实现这个功能应该是很容易的事吧?
2021-05-07官方不支持,有JS实现JS解释器:https://github.com/bplok20010/eval5
小程序有eval()函数么?var key = "name"; var value = "小明"; var o={}; var str="o."+key +"="+value; eval(str)
2021-05-07将该组件放到淘宝小程序跑,输出结果是没问题的。
生命周期在wx:if下触发时机Bug子组件在标有wx:if的情况下子组件的触发是立即触发,而不是等条件成立后触发! 如以下代码示例,子组件的attached应该在2s后才会触发,但结果却立即触发。 代码片段:https://developers.weixin.qq.com/s/cjbrRum477kF 部分代码示例 // component/test.js Component({ /** * 组件的属性列表 */ properties: { name: { type: String, value: 1 } }, /** * 组件的初始数据 */ data: { show: false }, lifetimes: { attached() { console.log('test component attached: ' + this.data.name + ' ' + Date.now()) setTimeout(() => { this.setData({ show: true }) }, 2000) }, }, // 兼容 attached() { console.log('test component attached: ' + this.data.name + ' ' + Date.now()) setTimeout(() => { this.setData({ show: true }) }, 2000) }, }) // test.wxml <slot wx:if="{{show}}" ></slot> // 使用 <test name="1"> <test name="2"> 嵌套测试 </test> </test>
2020-09-20有现成的js解释器 eval5: https://github.com/bplok20010/eval5 import { evaluate } from 'eval5'; var data = evaluate(`( ${event.data} )`)
如何解决eval不能使用的问题,能够有什么替换方法吗?exports.main = async (event, context) => { try { if(typeof event.data == 'string'){ event.data = eval('('+event.data+')'); } return await db.collection(event.collection).doc(event.doc) .update({ data: { ...event.data } }) } catch (e) { console.error(e) } } 我用传进来的字符串换成js代码,但是这个eval方法已经不能用了
2020-03-30