当前位置: 首页 > news >正文

动态执行js

这篇说下javascript中动态执行js的方式。就是现在有一段儿js代码的字符串,我们要去执行这段儿js代码,现有如下四种方式来实现

  • eval:同步执行,当前作用域
  • setTimeout:异步执行,全局作用域
  • script标签:同步执行,全局作用
  • Function:同步执行,全局作用域

1. eval

var a = 1function exec(code) {var a = 2eval(code)
}exec('console.log("a:", a)')  // a: 2

2. setTimeout

大家对setTimeout肯定是不陌生了,但是setTimeout还有另一种使用方式,就是setTime的第一个参数还可以传递一个字符串,并且会去执行这段儿js代码的字符串:

var a = 1function exec(code) {var a = 2setTimeout(code, 0)
}exec('console.log("a:", a)')  // a: 1

3.

相关文章:

  • 系统架构设计师备考之架构设计专业知识
  • 软考 系统架构设计师系列知识点之杂项集萃(100)
  • 海量数据存储与分析:HBase、ClickHouse、Doris三款数据库对比
  • http相关网络问题面试怎么答
  • C++ 格式化输入输出
  • Vue中的v-if与emit事件传递:一个常见陷阱分析
  • swift-19-从OC到Swift、函数式编程
  • SpringSecurity6-oauth2-三方gitee授权-授权码模式
  • 鸿蒙 Swiper 组件解析:轮播交互与动画效果全指南
  • 疏通经脉: Bridge 联通逻辑层和渲染层
  • 【python】~实现工具软件:QQ邮件即时、定时发送
  • 算法-基础算法-递归算法(Python)
  • PYTHON从入门到实践10-文件操作与异常
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(5):2022年12月2023年7月
  • 全新大模型开源,腾讯(int4能打DeepSeek) Vs 谷歌(2GB运行多模态)
  • Gemini-CLI:谷歌开源的命令行AI工具,重新定义开发者工作流
  • MyBatis批量删除
  • HMAC 流程
  • 矩阵的逆 线性代数
  • 代码部落 20250629 CSP-S复赛 模拟赛