相关疑难解决方法(0)

JavaScript中的(1,eval)('this')vs eval('this')?

我开始阅读JavaScript模式,一些代码让我困惑.

var global = (function () {
    return this || (1, eval)('this');
}());
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

Q1:

(1, eval) === eval

为什么以及如何运作?

Q2:为什么不呢

var global = (function () {
    return this || eval('this');
}());
Run Code Online (Sandbox Code Playgroud)

要么

 var global = (function () {
    return this;
}());
Run Code Online (Sandbox Code Playgroud)

javascript eval

80
推荐指数
4
解决办法
2万
查看次数

归还这个|| (0,EVAL)( '这');

查看doT.js源代码:

https://raw.github.com/olado/doT/master/doT.js

这是做什么的?

(function(){ return this || (0,eval)('this'); }()).doT = doT;
Run Code Online (Sandbox Code Playgroud)

对我来说,看起来它正在创建一个全局变量,window.doT.如果这就是它的全部,那么为什么不呢:

window.doT = doT;
Run Code Online (Sandbox Code Playgroud)

javascript dot.js

42
推荐指数
1
解决办法
5538
查看次数

标签 统计

javascript ×2

dot.js ×1

eval ×1