簡體   English   中英

我將我的 Jquery 反轉為 Javascript,但我不明白為什么這種語法有效?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM