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

Show an underscore variable in console

我设置了一个下划线变量:

<% var myVar = 1 %>

我用以下方式展示了它:

<% console.log(myVar) %>

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

简答:你不能。

长答案:编译 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 只存在于该函数的范围内,你无法从函数外部获取它。