我将我的Jquery反向为Javascript,但我不明白为什么这种语法有效?



所以我的目标是将这个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;

相关内容

  • 没有找到相关文章

最新更新