Javascript 在控制台中显示下划线变量

Javascript 在控制台中显示下划线变量,javascript,web,underscore.js,underscore.js-templating,Javascript,Web,Underscore.js,Underscore.js Templating,我将下划线变量设置为: <% var myVar = 1 %> 我用以下方法展示了它: <% console.log(myVar) %> 我可以使用什么直接从web浏览器控制台显示myVar?简短回答:您不能 长答案:编译下划线模板时,会返回一个函数。模板中的所有内容都在该函数中。例如,如果您这样说: var t = _.template('<% var v = 11; %>'); 因此,您的var myVar位于模板函数内部,myVar仅存在于

我将下划线变量设置为:

<% var myVar = 1 %>

我用以下方法展示了它:

<% console.log(myVar) %>


我可以使用什么直接从web浏览器控制台显示myVar?

简短回答:您不能

长答案:编译下划线模板时,会返回一个函数。模板中的所有内容都在该函数中。例如,如果您这样说:

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

因此,您的
var myVar
位于模板函数内部,
myVar
仅存在于该函数的范围内,您无法从函数外部获取它。

直接显示它是什么意思?另外,对于记录,您在代码中没有使用任何与下划线相关的内容,因此它只是javascript;)当您说“我使用
console.log(myVar)
”时,这不是您想要的吗?如果您想在浏览器控制台中与它交互,如果该变量是全局定义的,您应该可以访问它。这些闭包是什么意思?@Pabs123:在我看来像下划线模板中的东西。您不能
.template
将模板文本转换为函数,这样您将拥有类似于
function(){var myVar=1;…}
的内容,并且只能从函数内部访问
myVar
function(obj) {
    // Boilerplate set up stuff...
    with(obj||{}) {
        __p+='';
        var v = 11; // <-------------- There's your <%...%>
        __p+='';
    }
    return __p;
}