[英]I reversed my Jquery to Javascript, but I don't understand why this syntax works?
所以我的目標是將這個 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 語句僅指向 function 的局部變量。 如果你想復制以前的行為,你應該這樣做: input=''
而不是val;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.