Cách nào hợp lệ để xác định hàm trong javascript?

Hàm là một khối mã được thiết kế để thực hiện một tác vụ và được thực thi khi nó được gọi hoặc gọi

Có 3 cách viết hàm trong JavaScript

  • Khai báo hàm
  • Biểu thức hàm
  • Chức năng mũi tên

1. Khai báo hàm. Khai báo hàm là cách truyền thống để định nghĩa một hàm. Nó tương tự như cách chúng ta định nghĩa một hàm trong các ngôn ngữ lập trình khác. Chúng ta bắt đầu khai báo bằng từ khóa “hàm”. Sau đó, chúng tôi viết tên hàm và sau đó tham số

Dưới đây là ví dụ minh họa việc sử dụng Khai báo hàm

Javascript




5
43

5
44
5
45

5
46____147

5
48

 

5
0

5
1

Sau khi xác định một chức năng, chúng tôi gọi nó bất cứ khi nào chức năng được yêu cầu

đầu ra

5

2. Biểu thức hàm. Biểu thức hàm là một cách khác để xác định hàm trong JavaScript. Ở đây chúng ta định nghĩa một hàm sử dụng một biến và lưu trữ giá trị trả về trong biến đó

Dưới đây là ví dụ minh họa việc sử dụng Biểu thức Hàm

Javascript




5
2

5
3____144
5
5

5
46
5
7

5
48

 

5
9

5
1

 
 

Ở đây, toàn bộ hàm là một biểu thức và giá trị trả về được lưu trữ trong biến. Chúng ta sử dụng tên biến để gọi hàm

 

đầu ra

 

5

 

3. Hàm mũi tên. Các chức năng mũi tên được giới thiệu trong phiên bản ES6 của JavaScript. Nó được sử dụng để rút ngắn mã. Ở đây chúng tôi không sử dụng từ khóa “chức năng” mà sử dụng ký hiệu mũi tên

 

Dưới đây là ví dụ minh họa việc sử dụng Arrow Function

 

Ví dụ

 

Javascript




5
1

5
2

 

5
3

Điều này rút ngắn mã thành một dòng so với các phương pháp khác. Trong một dòng mã, hàm trả về hoàn toàn

đầu ra

5

Ghi chú. Khi cần bao gồm nhiều dòng mã, chúng tôi sử dụng dấu ngoặc. Ngoài ra, khi có nhiều dòng mã trong ngoặc, chúng ta nên viết rõ ràng return để trả về giá trị từ hàm

Đây là những ghi chú dựa trên Khóa học video JavaScript dành cho người mới bắt đầu của tôi. Đó là một cách tiếp cận thú vị, nặng nhọc để học JavaScript hiện đại từ đầu

Sử dụng mã BEGINNERJS để được giảm thêm $10

JavaScript mới bắt đầu. com

JavaScript, Chức năng Chỉnh sửa bài đăng

Một điều bạn sẽ nghe thấy thường xuyên khi tìm hiểu JavaScript là các hàm là "công dân hạng nhất"

Bản thân các hàm JavaScript là các giá trị và chúng có thể được lưu trữ trong các biến và được chuyển vào các hàm khác

Giá trị trong JavaScript là gì?

Chúng tôi biết rằng trong các ví dụ bên dưới 👇 rằng

5
48 và
5
49 là các giá trị

5
6

Đó là những giá trị là số, hoặc chuỗi hoặc booleans

Điều thú vị về JavaScript là các chức năng có thể được

  • truyền vào các chức năng khác
  • được lưu trữ trong các biến,
  • di chuyển xung quanh giống như bất kỳ phần dữ liệu nào khác trong JavaScript

Điều đó không đúng với mọi ngôn ngữ lập trình khác

Hãy bắt đầu bằng cách xem cách bạn có thể đặt một hàm vào một biến, sau đó xem các cách khác nhau để khai báo hàm

Tạo một tệp mới

5
70 trong thư mục
5
71

5
9

Thêm nhật ký "nó hoạt động. " và quay lại tệp

5
72 và thay đổi đường dẫn trong thuộc tính nguồn tập lệnh như được hiển thị ở trên 👆 và làm mới trình duyệt để đảm bảo nó hoạt động

Chúng ta đã biết một cách để khai báo một hàm và đó là sử dụng từ khóa function, như vậy 👇

5
1

Hàm ẩn danh

Hãy xem xét một số tùy chọn khác mà chúng ta có khi khai báo hàm, bắt đầu với hàm ẩn danh, là hàm không có tên

Để biến

5
73 thành một hàm ẩn danh, bạn sẽ sửa đổi nó như thế này 👇

5
3

Tuy nhiên, đó không phải là JavaScript hợp lệ. Nếu bạn thử chạy nó trong bảng điều khiển, bạn sẽ thấy lỗi có nội dung 👇

Lỗi cú pháp. Câu lệnh hàm yêu cầu tên hàm

Các hàm ẩn danh chỉ hợp lệ trong một số trường hợp sử dụng, chẳng hạn như sử dụng chúng trong hàm gọi lại [chúng ta sẽ tìm hiểu thêm về điều đó sau] cũng như trong IIFE [biểu thức hàm được gọi ngay lập tức]. Ví dụ này không phải là trường hợp sử dụng hợp lệ

Tại sao bạn lại muốn có một chức năng ẩn danh?

Biểu thức hàm

Cách tiếp theo chúng ta sẽ đề cập đến cách khai báo một hàm sẽ giúp giải thích điều đó, đó là một biểu thức hàm

Thêm một bình luận phía trên chức năng đó xác định rằng đó là một chức năng ẩn danh, sau đó sao chép chức năng đó và đưa ra bình luận

Dán mã đã sao chép bên dưới chức năng nhận xét

Cách tiếp theo để khai báo một hàm là một biểu thức hàm. Một biểu thức hàm là khi bạn lưu trữ một hàm dưới dạng một giá trị trong một biến. 👇

5
4

Trong đoạn mã trên 👆, chúng tôi đã sử dụng hàm ẩn danh và đưa nó vào một biến

Nếu bạn làm mới trang, bạn sẽ thấy rằng trong bảng điều khiển, chúng tôi có sẵn

5
74 và chúng tôi có thể gọi nó như chúng tôi đã làm trong các video trước

Khả năng lưu trữ một hàm trong một biến là điều khiến mọi người nói rằng các hàm là "công dân hạng nhất"

Bạn có thể bắt gặp các nhà phát triển nói rằng không sử dụng các biểu thức hàm vì họ đã từng đưa ra các lỗi vô ích

Trước đây, các lỗi chức năng ẩn danh sẽ chỉ cho bạn biết rằng chúng xảy ra trong một chức năng ẩn danh mà không cung cấp cho bạn bất kỳ manh mối nào về nơi xảy ra lỗi. Tuy nhiên giờ lỗi dev tool đỡ hơn

Đây là một ví dụ minh họa ý nghĩa của chúng 👇

5
7

Trong trường hợp của chúng tôi, nó hiện cho bạn biết điều đó xảy ra bên trong tiến sĩ ở dòng 12

Mặc dù về mặt kỹ thuật, hàm này là một hàm ẩn danh không có tên, nhưng giờ đây các trình duyệt sẽ suy ra tên của hàm từ tên biến và sử dụng tên đó trong các lỗi

Sự khác biệt giữa khai báo hàm và biểu thức hàm là gì?

Sự khác biệt giữa việc khai báo hàm và biểu thức hàm là gì?

cẩu

Chỉ có một sự khác biệt thực sự, đó là cách chúng hoạt động trong một thứ gọi là cẩu. Chúng tôi sẽ xem xét vấn đề này một cách chi tiết trong một video trong tương lai nhưng hiện tại chúng tôi sẽ chỉ đề cập nhanh đến khái niệm này

Nhân đôi hàm

5
73 và đặt tên là
5
76, chẳng hạn như 👇

5
9

Giả sử ngay trước hàm

5
73 đầu tiên, chúng tôi đã gọi
5
73 và chuyển cho nó giá trị là "wes", như được hiển thị bên dưới 👇, bạn có nghĩ rằng mã sẽ chạy không?

Nếu bạn chạy một chức năng trước khi xác định nó, nó có hoạt động không?

5
2

Nó có hoạt động không?

Không. Bạn nhận được một lỗi như

Lỗi tham chiếu chưa bắt. Không thể truy cập 'doctorize' trước khi khởi tạo tại cách tạo chức năng. js. 78 [ẩn danh] @ cách-tạo-thành-hàm. js. 78

Còn về

5
76 thì sao?

5
4

Nó hoạt động

Tại sao một khai báo hàm hoạt động nếu bạn gọi nó trước khi định nghĩa nó, nhưng một biểu thức hàm thì không, đặc biệt là khi chúng ta đã tạo chính xác cùng một hàm trong cả hai trường hợp?

Các hàm được khai báo với từ khóa function được gọi là hoisted

JavaScript sẽ lấy tất cả các chức năng với từ khóa chức năng và kéo chúng lên, lên, lên và nói "bạn là một chức năng, bạn thuộc về đầu tệp". Điều đó có nghĩa là bất cứ nơi nào bạn gọi hàm, nó sẽ có sẵn cho bạn

JavaScript không nâng các hàm biến

Tại sao điều đó lại hữu ích?

Rất hiếm khi, Wes chưa bao giờ sử dụng điều đó trong toàn bộ sự nghiệp của mình ngoại trừ những trường hợp sử dụng nhỏ

Hoisting là một câu hỏi phỏng vấn mà bạn có thể được hỏi

Về cơ bản, điều đó có nghĩa là JavaScript sẽ nhận các chức năng và đưa chúng lên đầu mã trước khi chúng được gọi. Điều này cho chúng ta khả năng chạy một chức năng trước khi nó được xác định

Xóa hàm

5
76 khỏi tệp JavaScript chỉ để lại biểu thức hàm

Hàm mũi tên

Cách tiếp theo để tạo một hàm là sử dụng hàm mũi tên

Bản thân các hàm mũi tên có một số cách khai báo khác nhau. Chúng là phần bổ sung mới hơn cho JavaScript và đã được thêm vào trong vài năm qua

Họ có một vài lợi ích

  • cú pháp ngắn gọn và có xu hướng ngắn hơn. cho phép viết các chức năng một dòng
  • không có phạm vi riêng liên quan đến từ khóa
    5
    91 [chúng tôi sẽ đề cập đến từ khóa
    5
    91 trong một video trong tương lai]

Hàm mũi tên cũng là hàm ẩn danh, có nghĩa là không có cách nào để khai báo hàm mũi tên theo cách chúng ta khai báo hàm

5
93. Bạn luôn phải dán nó vào một biến

Để minh họa điều này, chúng ta sẽ bắt đầu bằng cách viết một hàm thông thường. 👇

5
9

Hàm này sẽ lấy inch và trả về centimet

Hãy dùng thử trong trình duyệt

Đây là một chức năng khá đơn giản, nhưng nó vẫn chiếm 4 dòng mã

Chúng ta có thể làm cho nó ngắn hơn một chút bằng cách thay vì tạo một biến và sau đó trả về một biến, chúng ta chỉ có thể trả về phép tính trực tiếp

5
90

Ghi chú. Bạn có thể nhận thấy trong 👆 ảnh chụp màn hình ở trên rằng dòng mã có

5
94 hiện bị mờ đi. Đó là bởi vì mã đó sẽ không bao giờ đạt được, vì chúng tôi đang quay lại dòng mã phía trên nó. Khi bạn quay lại từ một chức năng, chức năng đó sẽ ngừng chạy

Bây giờ chúng ta có thể chuyển đổi nó thành một hàm ẩn danh như một bước trên con đường biến nó thành một hàm mũi tên

5
91

Làm mới trang để kiểm tra xem nó có còn hoạt động hay không. Tất cả những gì chúng tôi đã làm là biến nó thành một hàm ẩn danh và lưu trữ nó trong một biến

Các cách khác nhau để viết các hàm mũi tên

Bây giờ hãy chuyển đổi nó thành hàm mũi tên, chúng ta có thể thực hiện theo một số cách khác nhau

Thay vì viết chức năng từ, chúng tôi sẽ xóa nó như vậy 👇

5
92

Bây giờ chúng ta sẽ đi đến bên phải của dấu ngoặc đơn và thêm cái được gọi là mũi tên mập

5
95

Trong lập trình,

5
96 được gọi là mũi tên gầy và
5
95 được gọi là mũi tên béo

5
93

Khi bạn lưu, bạn có thể nhận thấy rằng Prettier đã sửa đổi hàm cho bạn và xóa dấu ngoặc đơn, đây không phải là điều chúng tôi muốn vì chúng tôi đang cố gắng thay đổi nó thành hàm mũi tên theo các bước. Để vô hiệu hóa điều đó, hãy thêm

5
98 ngay phía trên chức năng

Khoảng trắng giữa dấu ngoặc đơn và mũi tên trong đoạn mã sau 👉

5
99 không nhất thiết phải ở đó, đây là cùng một đoạn mã với các khoảng trắng khác nhau và 👉
5
20 vẫn hoạt động, nhưng nó dễ đọc hơn với khoảng trắng

Nếu bạn làm mới trang và chạy nó trong bảng điều khiển, bạn sẽ thấy nó vẫn hoạt động

Trả về tiềm ẩn và rõ ràng

Điều tiếp theo chúng ta sẽ làm là cái được gọi là trả lại ngầm định

Trả về rõ ràng là khi bạn nhập từ khóa

5
21 trước khi trả về một giá trị chẳng hạn như 👇

5
94

Đó là một trả về rõ ràng có nghĩa là chúng tôi trả lại giá trị ở đó một cách rõ ràng

Trả về ngầm định là trả lại nó mà không thực sự phải gõ từ khóa

5
21. Hàm mũi tên cho phép chúng tôi sử dụng trả về ẩn

Hãy bắt đầu bằng cách đặt hàm trên một dòng, như vậy 👇

5
93

Để thoát khỏi sự trở lại rõ ràng

  • đầu tiên đặt chức năng trên một dòng
  • sau đó xóa dấu ngoặc nhọn ________ 323 ________ 324
  • cuối cùng, xóa từ khóa
    5
    21
5
96

Mã của bạn sẽ giống như trên 👆

Những gì chúng tôi đã làm ở đó là

  • chúng tôi đã tạo một hàm mũi tên
    5
    26 nhận một tham số,
    5
    27
  • đã sửa đổi hàm để hoàn toàn trả về giá trị

Cách chúng ta có thể nói đây là một sự trở lại ngầm định là

  1. đó là tất cả trên một dòng
  2. không có từ khóa trả lại
  3. không có dấu ngoặc nhọn

Nếu bạn làm mới trình duyệt, bạn sẽ thấy nó vẫn hoạt động

Tóm lại. những gì chúng tôi đã làm ở đó là chúng tôi đã xóa khối chức năng, sửa đổi mã thành một dòng và xóa trả về rõ ràng

Cuối cùng, và đây là một sự lựa chọn phong cách hơn, nếu chỉ có một tham số cho hàm của bạn, bạn thực sự có thể loại bỏ dấu ngoặc đơn xung quanh tham số, như vậy👇

5
97

Nếu chỉ có một tham số trong hàm mũi tên của bạn, bạn có thể xóa chúng mà không gặp vấn đề gì. Nó vẫn là một chức năng mũi tên hợp lệ

Hãy làm một ví dụ khác

Tạo một hàm có tên là

5
28, nhận hai tham số
5
29 và
5
40, với giá trị mặc định của
5
40 là 3. Sau đó, chúng tôi sẽ tạo một biến tạm thời có tên là tổng mà chúng tôi trả về

5
98

Tạm dừng tại đây, hãy thử tự chuyển đổi nó thành chức năng mũi tên và sau đó quay lại sau khi bạn đã thử

Trước tiên hãy xem nó có hoạt động như ban đầu không

Lưu mã ở trên 👆 và làm mới

5
72 trong trình duyệt

Mở bàn điều khiển và kiểm tra chức năng

Bạn có thể nhận thấy rằng các công cụ dành cho nhà phát triển đang cung cấp cho chúng tôi chú thích

5
43 trong
5
44 như được hiển thị ở trên

Dấu chấm hỏi nhỏ phía trước

5
40 cho chúng ta biết rằng đối số là tùy chọn.
5
40 là tùy chọn vì có một giá trị mặc định để quay trở lại

Dán hàm vào một biến

5
28 và xóa tên hàm, như vậy 👇

5
99

Tiếp theo, chuyển đổi nó thành chức năng mũi tên. Loại bỏ chức năng từ khóa và thêm một mũi tên béo vào bên phải dấu ngoặc đơn, như hình dưới đây

5
10

Sửa đổi mã để trả về

5
48 và loại bỏ biến tổng. 👇

5
11

Đặt chức năng trên một dòng

5
12

Loại bỏ khối chức năng và từ khóa

5
21 như vậy 👇

5
13

Bây giờ chúng ta có một chức năng mũi tên ngắn

Bạn có thể nhận thấy rằng chúng tôi đã không loại bỏ dấu ngoặc đơn và đó là do có nhiều hơn một tham số

Chức năng mũi tên Gotcha

Có một số vấn đề khác với chức năng mũi tên mà chúng ta cần biết về

Bây giờ chúng ta hãy đi qua chúng

Trả lại một đối tượng

Hãy tạo một hàm

5
90, hàm này sẽ chấp nhận họ và tên của em bé

Bên trong hàm, tạo một đối tượng

5
91 với thuộc tính
5
92 và
5
93. 👇

5
14

Nó hoạt động

Làm thế nào bạn có thể chuyển đổi điều này thành một chức năng mũi tên?

Dán nó vào một biến và chuyển đổi nó thành một hàm mũi tên như vậy 👇

5
15

Nếu chức năng của bạn cần thực hiện một số nội dung bên trong khối, bạn có thể để nguyên như vậy. Đây là một chức năng mũi tên hoàn toàn hợp lệ

Nếu điều duy nhất bạn đang sử dụng mũi tên là khả năng nhập ít hơn cũng như một số lợi ích của việc không xác định phạm vi này, thì điều này hoàn toàn hợp lệ

Tuy nhiên, chúng ta có thể đi xa hơn một chút

Thay vì khai báo biến

5
91, chúng ta sẽ chỉ trả về đối tượng trực tiếp. 👇

5
16

Bây giờ câu hỏi là. làm thế nào chúng ta sẽ thực hiện trả lại ngầm định?

Chúng ta có thể đặt nó trên một dòng, không vấn đề gì [các đối tượng có thể được đặt trên một dòng]

Nhưng làm thế nào chúng ta sẽ trả lại nó?

Hãy thử nó theo cách chúng ta biết

Đặt nó trên một dòng

5
17

Để biến nó thành trả về ngầm định, hãy loại bỏ dấu ngoặc nhọn và từ khóa

5
21. 👇

5
18

Tuy nhiên, bạn sẽ thấy lỗi 👆 ở trên nếu bạn cố chạy mã như vậy

Điều gì đang xảy ra ở đó, nó nghĩ rằng dấu ngoặc nhọn từ đối tượng bé thực sự là dấu ngoặc nhọn từ khối hàm

Dấu ngoặc nhọn trong JavaScript có thể là việc tạo một đối tượng hoặc một khối mã

Các tùy chọn của bạn để hoàn toàn trả lại một đối tượng là gì?

Nếu bạn muốn hoàn toàn trả về một đối tượng trong JavaScript, bạn chỉ cần đặt một tập hợp các dấu ngoặc đơn xung quanh đối tượng mà bạn đang trả về và sau đó mã sẽ biết rằng đó không phải là khối đối với hàm

Hãy thử nó bằng cách sửa đổi mã của bạn như vậy 👇

5
19

Nếu bạn thử nó trong mã, nó vẫn hoạt động

Hiện nay. có lợi ích gì khi có chức năng theo cách này hay cách chúng tôi đã thực hiện nó ban đầu?

Bạn không thực sự nhận được nhiều lợi ích, trên thực tế, cách chúng tôi có nó ban đầu dễ đọc hơn một chút

Không có gì sai khi thực hiện một chức năng thông thường, bởi vì bạn muốn nghĩ về tương lai của mình

Giả sử bạn quay lại mã sau 6 tháng, điều gì sẽ dễ đọc hơn đối với bạn?

Không phải lúc nào bạn cũng tạo hàm mũi tên theo mặc định và hy vọng trong suốt khóa học này, bạn sẽ hiểu rõ hơn khi nào nên sử dụng hàm mũi tên [đặc biệt với mảng và tạo bản đồ, rút ​​gọn và lọc]

IIFE

Cách tiếp theo để tạo một chức năng là sử dụng IIFE [phát âm là iffy]

Đó là một biểu thức hàm được gọi ngay lập tức

Chúng tôi sẽ làm một ví dụ để chứng minh IIFE là gì

Nhận xét tất cả mã JavaScript khác, thêm mã bên dưới rồi làm mới

5
72. 👇

5
30

Không có gì xảy ra khi bạn làm mới

5
72 vì nó không được phép chạy. Chúng tôi đã nói về cách bạn có thể gắn một hàm vào một biến và điều đó không sao cả

Một cách khác để chạy hàm này được gọi là biểu thức hàm được gọi ngay lập tức

Điều bạn có thể làm là đặt hàm đó trong dấu ngoặc đơn, [dấu ngoặc đơn luôn chạy trước trong JavaScript] và điều sẽ làm là trả về một giá trị hàm và bạn có thể chạy hàm đó ngay lập tức bằng cách đặt dấu ngoặc đơn ở cuối như vậy 👇

5
31

Bây giờ, nếu bạn làm mới trang, bạn sẽ thấy nhật ký trong bảng điều khiển, điều đó có nghĩa là biểu thức hàm của chúng tôi đã được gọi ngay lập tức. Nó đã được chạy ngay lập tức

Lợi ích của việc làm một cái gì đó như thế là gì?

Nó đã từng rất phổ biến trước khi chúng ta có các mô-đun và phạm vi khối

Khi chúng ta bắt đầu tìm hiểu phạm vi, bạn sẽ biết rằng một hàm khai báo phạm vi riêng của nó và việc khai báo các hàm của chúng thường rất tiện lợi và nó sẽ cung cấp cho chúng ta một không gian được che chở nơi các biến không thể lọt vào bên trong. Chúng ta sẽ xem xét điều đó sau trong khóa học

Hiện tại, chỉ cần biết rằng đó là một chức năng được gọi ngay lập tức

Một điều cuối cùng là nếu chức năng mất một tuổi thì sao?

5
32

Đó không phải là thứ bạn sẽ sử dụng thường xuyên, nhưng nó sẽ xuất hiện khi bạn cần tạo thứ gì đó như phần đóng [điều này sẽ được giải thích trong video sau]

phương pháp

Loại hàm tiếp theo mà chúng ta sẽ tìm hiểu được gọi là các phương thức

Một phương thức chỉ đơn giản là một chức năng sống bên trong một đối tượng

[Cho đến nay, Wes đã nói rằng các phương thức và chức năng là giống nhau và chúng tôi sắp ra mắt một video tập trung hoàn toàn vào việc tạo các phương thức của riêng bạn để làm cho điều đó rõ ràng hơn]

Cho đến giờ Wes đã nói với chúng ta rằng

5
98 là một hàm

Nếu chúng ta xem chức năng

5
99 trong trình duyệt, chúng ta sẽ thấy rằng anh ta đã nói dối chúng ta

5
900 thực sự là chức năng sống bên trong
5
901 và
5
901 thực sự là một đối tượng

Nếu bạn gõ

5
901 vào bảng điều khiển và mở rộng nó, bạn sẽ thấy rằng có đủ thứ trong đó. 👇

Cuộn xuống để ghi nhật ký và chữ ƒ nhỏ mà bạn nhìn thấy có nghĩa đó thực sự là một chức năng 👉

Vì vậy,

5
901 là đối tượng và
5
900,
5
906 hoặc bất kỳ hàm nào khác được liệt kê bên dưới đối tượng bảng điều khiển là các hàm

Chúng ta có một từ đặc biệt để mô tả các chức năng sống bên trong một đối tượng và chúng ta gọi các phương thức đó là

Vì vậy, bạn thực sự có thể làm một cái gì đó như thế này. 👇

5
33

Hãy thử nó trong trình duyệt

Đầu tiên, gõ

5
907 và nhấn enter. Tiếp theo, gõ
5
908 và nhấn Enter

Bạn nên xem những điều sau đây 👇

5
908 là một phương pháp. Bạn biến nó thành một thuộc tính trên đối tượng của mình và bạn đặt nó thành một hàm

Các chức năng đó cũng có thể có tên, chẳng hạn như đôi khi bạn sẽ thấy nội dung như thế này 👇

5
34

Wes không thấy lý do để làm điều đó, nhưng nó được cho phép về mặt kỹ thuật

Ngoài ra còn có một phương pháp tốc ký mới. 👇

5
35

Nếu bạn làm mới trình duyệt và gõ

5
910, nó sẽ hoạt động

Những gì chúng tôi đã làm ở đây là thay vì viết

5
911 [hoạt động được], chúng tôi có thể loại bỏ từ khóa ________ 1912 và ________ 1913. Điều đó biến nó thành một thuộc tính,
5
914, được đặt thành hàm
5
915

Nó chỉ là một cách viết tắt để viết các phương thức bên trong một đối tượng

Có một cách khác, đó là hàm mũi tên. 👇

5
36

5
916 là một hàm mũi tên không nhận bất kỳ đối số nào, nhưng nó có thể nhận các đối số nếu bạn muốn

Đó là 3 cách khác nhau để thực hiện các phương thức và tốc ký là cách phổ biến nhất

Bản xem trước này

Lý do duy nhất khiến bạn thực hiện chức năng mũi tên là vì bạn không muốn truy cập

5
91

Chúng tôi sẽ xem xét chi tiết điều đó khi chúng tôi đến các đối tượng nhưng rất nhanh Wes sẽ cho chúng tôi thấy

Sửa đổi phương thức

5
918 để thêm
5
919 và chạy nó trong trình duyệt 👇

5
37

Bạn sẽ thấy rằng trên dòng trong mã của chúng tôi mà chúng tôi đã đăng nhập, chẳng hạn như

5
920, giá trị của
5
91 đã được trả về

[[

5
91]] bằng với đối tượng mà nó được gọi là chống lại

Điều đó thật tuyệt vì bạn thực sự có thể làm điều gì đó như thế này 👇

5
38

Bạn sẽ thấy nó ngay lập tức lấp đầy giá trị của thuộc tính name. 👇

Điều đó sẽ không hoạt động trong hàm mũi tên vì chúng có phạm vi chính là

5
91. Chúng tôi sẽ giải thích rằng trong tương lai

Chức năng gọi lại

Điều cuối cùng mà Wes muốn nói với chúng ta là một thứ gọi là chức năng gọi lại

Vì vậy, chức năng gọi lại chỉ là một chức năng thông thường, nhưng chúng tôi sử dụng tên đó cho điều gì đó sẽ xảy ra sau khi hoàn thành việc gì đó

Cách dễ nhất để xác định hàm gọi lại là khi ai đó nhấp vào thứ gì đó, hãy chạy cái này. Hoặc khi khoảng thời gian này đã trôi qua, hãy chạy cái này

Hãy xem xét cả hai ví dụ đó

Nhấp vào Gọi lại

Chúng tôi sẽ thực hiện gọi lại nhấp chuột

Đi vào

5
72 và thêm một nút có lớp
5
925 và nội dung "Nhấp vào tôi. " 👇

5
39

Quay lại tệp JavaScript, hãy chọn phần tử như vậy 👇 [chúng ta sẽ đề cập sâu hơn về DOM sau]

5
40

Làm mới trang và mở bảng điều khiển để thấy nó hoạt động

Tiếp theo, lắng nghe để nhấp vào nút đó như hình bên dưới

5
41

Khi lần nhấp đó xảy ra, chúng tôi có thể chuyển nó đến bất kỳ chức năng nào mà chúng tôi muốn. trong trường hợp này, chúng tôi đã chọn

5
918 từ đối tượng
5
907 của chúng tôi từ ví dụ trước

Bây giờ, mỗi khi bạn nhấp vào nó, nó sẽ báo "HEY WESSSS" 👇

Điều đang xảy ra là ________ 1928 là một trình xử lý sự kiện mà chúng tôi đang lắng nghe để nhấp vào và chức năng gọi lại là ________ 1908

Đó là một chức năng mà chúng tôi cấp cho nó quyền truy cập

Lưu ý là chúng ta không chạy nó ở đó, chúng ta chỉ nói ở đây là chức năng, khi ai đó bấm vào nút, hãy gọi nó

Đó là những gì được gọi là chức năng gọi lại

Các hàm gọi lại có thể được khai báo bên ngoài trình xử lý, như vậy 👇

5
42

Điều đó cho trình duyệt biết rằng khi nhấn phần tử có lớp

5
930, hãy chạy hàm
5
931. Tùy chọn khác, phổ biến bằng một nửa, là xác định hàm bên ngoài và sau đó chuyển tham chiếu đến hàm

Một điều khác bạn có thể làm là chuyển cho nó một chức năng ẩn danh, như được hiển thị bên dưới

5
43

Và nó hoạt động tốt khi bạn nhấn nó

Những gì chúng tôi đã làm ở đó là chúng tôi đã trực tiếp chuyển cho nó một hàm ẩn danh dưới dạng một giá trị và trình duyệt sẽ tự gọi hàm này. [Có những mặt tích cực và tiêu cực của việc làm theo cách đó mà chúng ta sẽ nói vào lúc khác. ]

Điều bạn cần biết là chức năng gọi lại là một chức năng được chuyển vào một chức năng khác và sau đó nó được trình duyệt gọi vào thời điểm sau đó

Hẹn giờ gọi lại

Một ví dụ khác mà chúng tôi có là một cuộc gọi lại hẹn giờ

Có một số cách để thực hiện đồng hồ bấm giờ [chúng ta sẽ xem xét tất cả chúng trong tương lai] nhưng cách đơn giản nhất là

5
932

Các cách để xác định một chức năng trong JavaScript là gì?

Một hàm JavaScript được xác định với từ khóa hàm, theo sau là tên, tiếp theo là dấu ngoặc đơn [] . Tên hàm có thể chứa các chữ cái, chữ số, dấu gạch dưới và ký hiệu đô la [quy tắc giống như biến]. Dấu ngoặc đơn có thể bao gồm các tên tham số được phân tách bằng dấu phẩy. [tham số1, tham số2,. ]

Cách nào sau đây là cách hợp lệ để khai báo hàm trong JavaScript?

6 cách để khai báo hàm JavaScript .
Mã JavaScript tạo thành thân hàm
Danh sách các tham số
Các biến có thể truy cập từ phạm vi từ vựng
Giá trị trả về
Bối cảnh this khi hàm được gọi
Chức năng được đặt tên hoặc ẩn danh
Biến chứa đối tượng hàm

Cách chính xác để xác định hàm [] là gì?

Để khai báo một hàm, chúng ta phải sử dụng từ khóa hàm theo sau là tên hàm với dấu ngoặc đơn mở và đóng . Sau đó, chúng ta phải sử dụng các dấu ngoặc nhọn mở và đóng giữa chúng ta có thể thêm mã của hàm. Chúng ta phải sử dụng tên hàm và dấu ngoặc đơn để chạy hàm.

Có bao nhiêu cách bạn có thể định nghĩa một hàm trong JavaScript?

Chúng ta sẽ xem xét bốn cách để tạo một hàm trong JavaScript. dưới dạng câu lệnh, dưới dạng biểu thức, dưới dạng hàm mũi tên và sử dụng hàm tạo Hàm

Chủ Đề