所以我的目标是将这个jquery反转为javascript。这是jquery
create: function (e) {
var $input = $(e.target);
var val = $input.val().trim();
if (e.which !== ENTER_KEY || !val) {
return;
}
this.todos.push({
id: util.uuid(),
title: val,
completed: false
});
$input.val('');
this.render();
},
下面是我转换成javascript 的相同代码
create: function (e) {
var input = e.target.value;
var val = input.trim();
if (e.which !== ENTER_KEY || !val) {
return;
}
this.todos.push({
id: util.uuid(),
title: val,
completed: false
});
val;
this.render();
},
所以我的Javascript代码是有效的,我理解了90%,但我没有得到的是倒数第二行只写着"val;">
我浏览了调试器并试图理解它,但我不明白它被放在那里的原因,也不明白为什么它是必要的?
目标是每当我在待办事项列表中输入一个值时,它就会显示在我的屏幕上。代码运行良好,但我不理解"val;"的用途?
this.todos.push不会自动将值添加到我的数组中吗?或者我为什么不添加"return val;"?
我猜以前的$input.val('');
是用来在将其值推送到数组后清空输入字段的,但在您的js代码中,val;
语句是无用的。
此外,jquery代码$input.val(''(;引用输入DOM元素,但是在js代码中,val语句只指向函数的局部变量。如果你想复制以前的行为,你应该这样做:input=''
而不是val;