01/10/2018, 09:28

Viết nhu thế này có gì khác biệt ko vậy mn?

$("#login_submit").click(function() {

}), $("#register_submit").click(function() {

})

Với

$("#login_submit").click(function() {

});
$("#register_submit").click(function() {

})

Dark.Hades viết 11:42 ngày 01/10/2018

(Hình như) giống nhau, nhưng vote cách 2 vì dễ hiểu

Hung viết 11:42 ngày 01/10/2018

Cách 1 là expression
Cách 2 là statement.

Expression được nối với nhau bằng dấu “,”, kết quả của toán tử “,” là kết quả của expression sau cùng.

Code của bạn thiên về side effect nên chọn cách statement tường minh hơn, hay cách 2.

Huy Nguyen viết 11:41 ngày 01/10/2018

side effect

Em chưa hiểu lắm . Anh có thể giải thích khi nao dùng C1 khi nào dùng C2 ko ạ ?

Hung viết 11:29 ngày 01/10/2018

slide effect là kết quả 1 function chỉ phụ thuộc vào input của nó.

ví dụ:

function add(first, second) { return first + second; }

int magicNumber = 1;
function subtract(first, second) {
magicNumber++;
return first - second;
}

add không có side effect, còn subtract thì có side effect vì subtract ngoài phụ thuộc first và second, còn thay đổi biên magicNumber nằm ngoài.

Expression là 1 biểu thức hoặc hàm, khi là hàm thì kết quả của nó chỉ phụ thuộc vào parameters, tức là không có side effect.
Statement là 1 hàm, dùng để thay đổi biến toàn cục, hay thay đổi các thành phần nằm ngoài chương trình, như lưu trữ vào database, vẽ giao diện, statement thường có slide effect.

Trong trường hợp của bạn, hàm click nhận đối tượng function làm tham số và trả về void. Hàm có 1 hoặc nhiều tham số và không có trả về là event function. Event function chỉ có ý nghĩa khi bản thân thực hiện side effect, nên nó thuộc statement.

Bài liên quan
0