为什么我得到一个ReferenceError:无法在控制台中找到变量lang1
?
如果lang
存在,那么lan1也不存在吗?...
<body>
<input id="datetimepicker" type="text" placeholder="Datetimerpicker">
<input id="lang" type="text" placeholder="language" value="en"><div class="select">select language</div>
<script>
$(".select").click(function(){
var lang = $('#lang').val();
var lang1 = lang;
});
</script>
</body>
并且不应该lang = "en"
?我在控制台中获得lang = <input id="lang" type="text" placeholder="language" value="en">
答案 0 :(得分:4)
如果您想为您的功能使用浏览器调试工具,您必须按照工具的方式执行操作。只需在控制台命令提示符下键入Router.route('/templateName', {
waitOn: function () {
return Meteor.subscribe('collectionName');
},
action: function () {
// render all templates and regions for this route
this.render();
}
});
和lang
就不会真正做到你想要的。在这种情况下,符号lang1
将引用您使用lang
作为lang
字段的“id”时所暗示的全局符号。
您可以使用这些工具在事件处理程序中设置断点。一种简单的方法是在“click”处理程序的开头添加<input>
语句:
debugger
从那时起,调试工具将为您提供一种方法,让您可以查看活动函数中的变量值(以及使您在那里的函数)。
答案 1 :(得分:3)
您无法在控制台中引用lang
和lang1
,因为它们位于点击关闭的本地。在控制台中定义lang
的原因是它将使用与您的变量匹配的任何元素ID。将变量更改为langX,您将遇到相同的错误。