前端 JS 经典:动态执行 JS

简介: 前端 JS 经典:动态执行 JS

前言:怎么将字符串当代码执行。有 4 中方式实现 eval、setTimeout、创建 script 标签、new Function

1. eval

特点:同步执行,当前作用域

var name = "yq";
function exec(string) {
  var name = "yqcoder";
  eval(string);
}
exec("console.log(name)");
console.log("end");

2. setTimeout

setTimeout 的第一个参数可以传字符串的,自动将这个字符串当作代码来运行

特点:异步执行,全局作用域

var name = "yq";
function exec(string) {
  var name = "yqcoder";
  setTimeout(string);
}
exec("console.log(name)");
console.log("end");

3. 创建 script 元素

特点:同步执行,全局作用域

var name = "yq";
function exec(string) {
  var name = "yqcoder";
  const script = document.createElement("script");
  script.text = string;
  document.head.appendChild(script);
}
exec("console.log(name)");
console.log("end");

4. 使用 Function

特点:同步执行,全局作用域

var name = "yq";
function exec(string) {
  var name = "yqcoder";
  new Function(string)();
}
exec("console.log(name)");
console.log("end");

目录
相关文章
|
6月前
|
JavaScript 前端开发 API
|
7月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
310 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
6月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
226 8
|
6月前
|
JavaScript 前端开发 容器
|
6月前
|
JavaScript 前端开发
|
6月前
|
存储 JavaScript 前端开发
|
6月前
|
移动开发 JavaScript 前端开发
|
6月前
|
存储 JavaScript 前端开发
|
6月前
|
JavaScript 前端开发
|
7月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
5893 24

热门文章

最新文章