美文网首页
初识eval()

初识eval()

作者: 撕心裂肺1232 | 来源:发表于2020-04-12 00:17 被阅读0次

今天看到一个关于自执行函数和异步调用的问题

for(var i = 0; i<5; i++){
  setTimeOut(function(i){
      console.log(i);
  }(i),i * 1000);
}

//0,1,2,3,4 同时输出

解释:
首先了解setTimeOut。setTimeOut第一个参数只接受Function和String类型,而如果你传入的显示不是Function类型,解析器会把你传入的参数扔进eval()中执行。回到本题,因为传入的是立即执行函数,所以会把这个立即执行函数的运行结果(return值)当作代码扔到eval()中执行。

eval()

eval()函数会将传入的字符串当作JavaScript代码进行执行

eval(string)

  • 参数 String
    一个表示 JavaScript 表达式、语句或一系列语句的字符串。表达式可以包含变量与已存在对象的属性。
  • 返回值
    返回字符串中代码的返回值。如果返回值为空,则返回 [undefined]

相关文章

  • 初识eval()

    今天看到一个关于自执行函数和异步调用的问题 解释:首先了解setTimeOut。setTimeOut第一个参数只接...

  • (1, eval)('this') eval('this')

    (1, eval)('this') eval('this') 两者有什么不同 (1,eval)和普通的eval函...

  • eval作用域

    输出 原因: (1,eval)是个表达式,;类似1&&eval,属于间接引用了eval; eval 只在被直接调用...

  • JS之eval()

    Javascript 之 eval() 语法 eval(string) 描述 eval()是一个顶级函数并且跟任何...

  • PHP代码执行

    Eval函数介绍 Eval函数的语法如下: eval ( string $code ) $code是字符串型变量,...

  • R|Rmarkown查漏补缺

    1. 代码块设置 核心函数:eval eval = TRUE,显示运行结果,默认值 eval = FALSE,不显...

  • python内置关键字

    eval eval(expression, globals=None, locals=None) --- 官方文...

  • python内置函数

    eval() eval(expression, globals=None, locals=None) expres...

  • 12.1、python内置函数——eval、exec、compi

    内置函数——eval、exec、compile eval()将字符串类型的代码执行并返回结果 print(eval...

  • 你所不知道的eval

    首先,eval是什么?MDN对eval的解释是: eval() 函数会将传入的字符串当做 JavaScript 代...

网友评论

      本文标题:初识eval()

      本文链接:https://www.haomeiwen.com/subject/mysmmhtx.html