收藏
回答

小程序的运行环境与小程序云函数的运行环境不同吗?

小程序云函数(index.js 代码)的运行环境是 node.js ?小程序(index.js 代码)的运行环境也是 node.js ?开发工具下和真机下一样吗?以下代码在云函数时结果是99。而在小程序时结果是10。是否由于解释器不同?

var a7=10;
{
  a7=99;
  function a7(){}
  a7=30;
}
console.log("testa7: ", a7)
//微信小程序云函数内:99
//微信小程序内     :10


回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-09-20

    2020-09-20
    有用 1
    回复 11
    • 英忠通信
      英忠通信
      2020-09-20
      您是说,执行第二遍就是 99 了对吗?另:手机端和云函数端的运行环境不同吗?
      2020-09-20
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-09-20回复英忠通信
      变量提升问题  一个用的let  一个用的var,跟运行环境没关系
      2020-09-20
      回复
    • 英忠通信
      英忠通信
      2020-09-20回复Mr.Zhao
      谢谢您,这是 var 与 let 指令的作用范围不同是吧。我说一下我的测试结果。开发工具环境下:上述代码处于 index.js 开始位置。结果:用 var :10,用 let:10。我不是在终端-node命令行模式下。我用的开发工具版本:Stable 1.03.2006090。
      2020-09-20
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-09-20回复英忠通信
      截图说明吧
      2020-09-20
      回复
    • 英忠通信
      英忠通信
      2020-09-20回复Mr.Zhao
      两个的不同之处,仅仅是 var 和 let 指令,其他都一样。
      2020-09-20
      回复
    查看更多(6)
  • 英忠通信
    英忠通信
    2020-10-22

    简单说:小程序端(手机端)的 js 环境是 V8。而云端是 nodejs。开发者文档描述的较详细。从中看出,小程序端的js代码不是运行在 node.js 上(因此nodejs的内置模块如http,fs,path,crypto,Buffer等都不能使用),而是直接运行在 V8上的。【原文链接:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/env.html】。摘录如下:在 Android 上,小程序逻辑层的 javascript 代码运行在 V8 中,视图层是由自研 XWeb 引擎基于 Mobile Chrome 内核来渲染的;在开发工具上,小程序逻辑层的 javascript 代码是运行在 NW.js 中。

    2020-10-22
    有用
    回复
登录 后发表内容
问题标签