2016-05-12 45 views
-1

我设置下划线变量有:显示在控制台下划线变量

<% var myVar = 1 %> 

而且我发现它使用:

<% console.log(myVar) %> 

我可以用什么来myVar的直接从Web浏览器控制台显示?

+2

你是什么意思直接显示它?还记录你没有使用与该代码中的下划线相关的任何内容,所以它只是javascript;) – Pabs123

+0

当你说“我用'console.log(myVar)'”显示它时,它没有做到你想要的吗?如果你想在浏览器控制台中与它交互,如果变量是全局定义的,你应该可以访问它。 – aug

+0

这是什么意思关闭<% %>? – sylvain1264

回答

0

简答题:你不行。

长答案:当你编译一个Underscore模板时,你会得到一个函数。您的模板中的所有内容都在该函数内。例如,如果你这样说:

var t = _.template('<% var v = 11; %>'); 

再看看t.source(其中_.template方便地设置了你),你会看到这样的事情:

function(obj) { 
    // Boilerplate set up stuff... 
    with(obj||{}) { 
     __p+=''; 
     var v = 11; // <-------------- There's your <%...%> 
     __p+=''; 
    } 
    return __p; 
} 

所以你var myVar是里面的模板函数和myVar只存在于该函数的范围内,并且不能从函数外部获取。