Asked Oct 26th, 2022 10:04 a.m. 147 2 3
  • 147 2 3
+1

Function trong js?

Share
  • 147 2 3

Em đang thắc mắc cách sử dụng function trong js ví dụ:

$(".customNextBtn").click(function () {
      owl.trigger("next.owl.carousel");
    });
 tại sao không phải là:
$(".customNextBtn").click(){
      owl.trigger("next.owl.carousel");
};

em vẫn chưa nắm được giữa function a({//doSomething})function a(){//doSomething} 2 thằng này khác nhau ở điểm nào và dùng trong những trường hợp ntn ạ? Em cảm ơn!!!

3 ANSWERS


Answered Oct 27th, 2022 1:27 a.m.
Accepted
+7

Để hiểu rõ được vấn đề ở trên, em nên nắm được các khái niệm như sau:

Ở trong 2 ví dụ của em thì ví dụ thứ 2:

$(".customNextBtn").click(){
      owl.trigger("next.owl.carousel");
};

là một đoạn code sai cú pháp, sẽ không thể chạy được. $(".customNextBtn").click() là một lời gọi hàm (Function Invocation), tuy nhiên sau đó lại xuất hiện cú pháp {} không xác định.

còn ví dụ thứ nhất

$(".customNextBtn").click(function () {
      owl.trigger("next.owl.carousel");
    });

thì ta có thể giải thích bằng những khái niệm ở phía trên như sau:

  • $(".customNextBtn").click() dùng để define event click vào một element
  • Ta truyền một tham số vào hàm đó. Tham số này hơi đặc biệt ở chỗ nó không phải là một số tự nhiên, một chuỗi, hay một mảng thông thường, mà nó là một hàm số
  • Tham số truyền vào này là một function expression
  • Tham số truyền vào này là một callback function, nó sẽ được gọi để chạy, khi mà button được click
Share
Avatar GhostYYY @bvk199x
Oct 27th, 2022 4:33 a.m.

Wow +1 respect a ^^

+1
| Reply
Share
Oct 27th, 2022 6:06 a.m.

quá tâm huyết, respect!

+1
| Reply
Share
Answered Oct 26th, 2022 2:01 p.m.
+2
1: hình như function thứ 2 bạn viết hơi sai
$(".customNextBtn").click(() => {
      owl.trigger("next.owl.carousel");
})

viết như thế này chỉ để cho code ngắn thôi chứ trong trường hợp này thì sài kiểu nào cũng đc nhé

2: Có 3 loại function trong javascript:
    1. Declaration function:
function hello(name) {
   console.log('Hello:', name)
}
    1. Expression function
const hello2 = function(name) {
   console.log('Hello:', name)
}
    1. Arrow function
const hello3 = (name)  => {
   console.log('Hello:', name)
}

Bạn có thểm xem thêm video của kênh F8 Official nhé

Share
Answered Oct 26th, 2022 2:03 p.m.
+1

cái đấy người ta gọi là callback, tức pass function as param

cái .click() là 1 lời gọi hàm chứ ko phải khai báo hàm

Share
Viblo
Let's register a Viblo Account to get more interesting posts.