eval解析
内容来源 MDN,我只是搬运工
eval()函数会将传入的字符串当做JavaScript代码进行执行
语法
eval(string)
描述
eval()是全局对象的一个函数属性
eval()的参数是一个字符串。如果字符串表示的是表达式,eval()会对表达式进行求值。如果参数表示一个或多个Javascript语句,那么eval()就会执行这些语句。注意不要用eval()来执行一个四则运算表达式;因为Javascript会自动为四则运算符求值并不需要eval来包裹
如果eval()的参数不是字符串,eval()将会将参数原封不动的返回。在下面例子中,字符串构造器被指定,eval()返回字符串对象而不是对字符串求值。
|
|
你可以使用通用的方法来绕过这个限制,如使用toString()
|
|
重点
如果你间接的使用eval(),如通过一个引用来调用它而不是直接调用eval。从ES5起它工作在全局作用域而不是局部作用域;这意味着,例如,下面代码:
|
|
|
|