Javascript 下划线模板没有';无法在调试器中工作

Javascript 下划线模板没有';无法在调试器中工作,javascript,debugging,underscore.js,underscore.js-templating,Javascript,Debugging,Underscore.js,Underscore.js Templating,//在控制台打开的情况下运行 //并在点击调试器时粘贴以下内容: /* _.templateSettings={ 内插:/\{(.+?)\}\}/g }; var-template=wk.template(“Hello{{{name}}!”); log(模板({name:“Mustache”})) */ 调试器 //应返回: //下划线-min.js:5未捕获类型错误:无法读取未定义的属性“调用” //但在调试器之外,它可以工作: _.templateSettings={ 内插:/\{(.+?)

//在控制台打开的情况下运行
//并在点击调试器时粘贴以下内容:
/*
_.templateSettings={
内插:/\{(.+?)\}\}/g
};
var-template=wk.template(“Hello{{{name}}!”);
log(模板({name:“Mustache”}))
*/
调试器
//应返回:
//下划线-min.js:5未捕获类型错误:无法读取未定义的属性“调用”
//但在调试器之外,它可以工作:
_.templateSettings={
内插:/\{(.+?)\}\}/g
};
var-template=wk.template(“Hello{{{name}}!”);
log(模板({name:“Mustache”}))

这是
函数
实例化的症状(下划线第1454行),可以使用以下语句重新创建:

new Function('return true;')
在浏览器中打开任何页面(即使是此页面)后,将其复制到控制台并执行,它将打印以下内容:

function anonymous() {
    return true;
}
但是,如果页面当前在调试器中暂停,则语句返回
未定义的
。我试着在Firefox中运行同样的程序,它也不起作用,甚至不会返回

我无法解释当V8(Chrome)或SpiderMonkey(Firefox)Javascript引擎在调试器中暂停时对它们的影响

如果您确实需要它,这里有一个解决方法:

当第一个断点命中时:

> source = "Goodbye {{ name }}!";
< "Goodbye {{ name }}!"
>source=“再见{{{name}!”;
<“再见{{name}!”
现在继续执行,在第二个断点上:

> template({name: "Mustache"});
< "Goodbye Mustache!"
>模板({name:“Mustache”});
<“再见,小胡子!”

如果你想尝试一些选项,我会说把它放在一个循环中(
while(source.length){…}

哪个版本的下划线?粘贴的代码中的哪一行触发错误?您正在使用的下划线.js版本的第1461行有什么内容?已回答(请参见编辑)断点在哪里?它在下划线内吗?调试器;就在我自己的js文件中,我试图使用下划线。这里有一个提琴:你看到了吗?密码是passswill文件,这里没有调试器;break point甚至console.log内置u.template,你知道为什么吗
> template({name: "Mustache"});
< "Goodbye Mustache!"