Nhận tên tham số JavaScript
Đâ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 Show 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 Video này sẽ tập trung vào đối số và tham số Trong hàm 6 từ video trước, chúng tôi đã mã hóa số tiền thuếMột phương pháp hay nhất trong JavaScript là giữ cho mã của bạn KHÔ, viết tắt của Don't Repeat Yourself 7 sẽ không hữu ích nếu nó chỉ có thể tính toán giá trị giả sử hóa đơn là 100 đô la và thuế suất 15%, vì vậy chúng tôi cần sửa đổi các giá trị được mã hóa cứng đóĐể giải quyết vấn đề đó, phía trên hàm tính hóa đơn, chúng ta có thể khai báo các biến tổng hóa đơn và taxRate Sửa đổi mã như vậy 👇
Điều này sẽ hiệu quả, nhưng đó không phải là cách tốt nhất để làm điều đó. Tại sao? 7 đang dựa vào một thứ gọi là biến toàn cục (sẽ được giải thích trong các video sau)Hiện tại, điều bạn cần biết là 7 cần một số dữ liệu. Khi nó không được truyền dữ liệu, thay vào đó, nó sẽ tiếp cận bên ngoài chức năng để tra cứu dữ liệu đó ở phạm vi cao hơnĐó không phải là cách làm hay (tiếp cận bên ngoài chức năng để lấy dữ liệu của bạn) Trong 0, hãy xóa bảng điều khiển cuối cùng. đăng nhập và thêm vào như sau 👇
TIỀN BOA. Bạn có thể ghi bao nhiêu phần dữ liệu tùy ý bằng cách phân tách các giá trị bằng dấu phẩy như trong ví dụ trên Nhật ký sẽ trả về cùng một giá trị
Nếu chúng ta muốn một giá trị khác thì sao?
(Ghi chú. bạn cần thay đổi biến 1 được khai báo trong 0 thành 3 thay vì 4 để chúng tôi có thể gán lại giá trị mới cho nó)Nếu bạn làm mới nó, bây giờ nó hoạt động Tuy nhiên, chúng tôi đã thay đổi biến bằng cách sửa đổi mã của mình mỗi khi chúng tôi muốn chạy nó với các giá trị khác nhau. Đây là cách làm không tốt và đó là cách bạn nhận được các ứng dụng rất dễ vỡ Điều chúng tôi muốn làm là thay vì tiếp cận, chúng tôi sẽ chuyển dữ liệu mà chúng tôi cần vào các chức năng của mình Đầu tiên chúng ta hãy dọn dẹp một chút. Loại bỏ các biến 5 và 6. Loại bỏ các dòng mã nơi chúng tôi đang gán lại các biến và khai báo myTotal2 ( 7) và nhật ký cuối cùngBạn nên kết thúc với đoạn mã sau 👇
Bây giờ chúng tôi muốn lấy các biến hóa đơn và thuế suất và chúng tôi muốn biến chúng thành một thứ gọi là tham số hoặc tham số cho chức năng của bạn Khi bạn xác định hàm của mình, bạn thêm các thông số cho bạn biết rằng hàm dự kiến sẽ được truyền một số dữ liệu. Wes thích coi các tham số là phần giữ chỗ 6Bên trong thân hàm, chúng ta sẽ có quyền truy cập vào hai biến được truyền
Nó có thể gây nhầm lẫn vì không có "việc tạo ra các biến param", nhưng Wes sẽ cố gắng hết sức để giải thích nó 9Điều đó sẽ mang lại cho bạn $113 Nhưng bây giờ chúng tôi có thể tạo ra một 60 thực sự nhanh chóng 👇 1Nó hoạt động mà không cần phải gán lại vì khi bạn xác định một chức năng, bạn có thể đặt các tham số. P = trình giữ chỗ là một cách để ghi nhớ nó Khi bạn gọi hàm, bạn truyền cho nó các đối số Đây là một cheatsheet nhanh mà Wes đã tập hợp lại để giải thích các phần của một chức năng Khi chúng ta xác định chức năng, chúng ta sử dụng những gì được gọi là tham số. Các tham số có thể được coi là trình giữ chỗ (chúng ta sẽ sớm nói về các giá trị mặc định cho tham số) Khi bạn gọi, chạy hoặc gọi (cả 3 đều có nghĩa giống nhau) và bạn thực sự truyền dữ liệu cho nó, điều đó sẽ thay thế các biến (ví dụ: 61 sẽ là 62 và 9 sẽ là 64), chúng sẽ được gọi là đối sốMọi người sử dụng sai các thuật ngữ đó thay thế cho nhau. Một cách để ghi nhớ là các tham số là phần giữ chỗ. Các giá trị thực tế mà bạn truyền vào khi gọi một hàm được gọi là đối số Đưa nó trở lại 65, ở đây chúng ta đang chạy hàm và với tư cách là đối số, chúng ta sẽ chuyển thẳng các số. Tuy nhiên, các giá trị được truyền vào một hàm cũng có thể nằm trong một biến. Đây là một điều phổ biến mà mọi người cảm thấy khó chịu khi tìm hiểu cách thức hoạt động của các chức năng là cách chúng được đổi tênHãy xem mã chúng tôi đã viết cho 6Dữ liệu được truyền vào hàm và các biến đó chỉ khả dụng bên trong hàm 7. Chúng sẽ là những gì được gọi là nằm trong phạm vi chức năng, có nghĩa là chỉ khả dụng bên trong chức năngNếu chúng tôi thêm một nhật ký trong tính toánBill như vậy 👇 9Chúng ta có thể chạy hàm đó từ bảng điều khiển nhưng chuyển các giá trị khác nhau cho các đối số, bảng điều khiển sẽ ghi lại các giá trị của các đối số mà chúng ta đã truyền, như vậy 👇 Tại sao? Bởi vì JavaScript sẽ lấy bất cứ thứ gì bạn viết làm đối số, và sau đó khi bạn gọi hàm, nó sẽ tạm thời cung cấp cho bạn thông qua tên mà bạn đặt trong tham số của mình Điều khiến mọi người hơi khó hiểu là nếu chúng ta khai báo hai biến trước khi gọi hàm như vậy 👇 0Chúng ta thực sự có thể chuyển các biến đó vào hàm như thế này 👇 1Bây giờ sự nhầm lẫn lớn là, nếu chúng là các biến bên ngoài hàm, và chúng ta chuyển chúng vào hàm, khi nó được gọi bên trong hàm, thì tham số đầu tiên được gọi là 8 hay nó được gọi là 69?Nó thậm chí sẽ hoạt động nếu bạn chuyển vào một biến không có cùng tên với tham số? Bạn sẽ thấy nó hoạt động tốt Để xem lại, khi bạn chạy một hàm trong JavaScript, điều xảy ra là JavaScript sẽ lấy bất cứ thứ gì bạn đã truyền vào nó, cho dù bạn đã truyền giá trị đó trực tiếp cho nó (ví dụ: dưới dạng số hoặc chuỗi) hay nếu bạn truyền giá trị đó qua tham chiếu ( Vào cuối ngày, chúng tôi vẫn chuyển các giá trị, cho dù bạn chuyển nó trực tiếp hay bạn chuyển nó một tham chiếu đến một biến chứa giá trị. JavaScript không quan tâm đến cách bạn chuyển chúng vào, cho dù dưới dạng giá trị trực tiếp hay dưới dạng biến Trong hàm này, JavaScript sẽ lấy bất cứ thứ gì được truyền trong đối số đầu tiên và biến nó thành một biến tạm thời 8 có sẵn bên trong giới hạn của dấu ngoặc nhọnKhi chức năng đang chạy, nó không quan tâm đến bất kỳ thứ gì khác ngoài chức năng này. Nó chỉ biết rằng nó đang thực hiện công việc của mình, nó được truyền vào 2 mẩu dữ liệu nhỏ mà nó cần, nó thực hiện phép toán và trả về giá trị của nó từ bên trong hàm Khi các giá trị được truyền vào một hàm, chúng sẽ được đổi tên thành bất cứ thứ gì mà bạn đã xác định các tham số hàm của mình là Một vi dụ khacHãy làm một ví dụ khác Nhận xét mã 92Thêm hàm sau vào mã của bạn, hàm này sẽ trả về xin chào và chúng ta sẽ chuyển vào tên của ai đó 👇 0Chạy mã nguyên trạng, mặc dù mã sẽ bị hỏng, để xem tại sao. Trong bảng điều khiển, bạn sẽ thấy lỗi tham chiếu trong bảng điều khiển Điều gì sẽ xảy ra với hàm này, đầu tiên nó tìm kiếm bên trong phạm vi chức năng của chính nó và nó sẽ tìm kiếm một biến 93 đã được chuyển vào. Nếu không, nó sẽ bắt đầu làm là đi lên một mức độ cao của phạm vi và nhìn vào đóGiả sử có một biến FirstName như vậy 👇 1Điều đó sẽ hiệu quả, bởi vì chức năng sẽ tiếp cận bên ngoài dữ liệu đó nếu không tìm thấy gì trong phạm vi của chức năng đó Điều chúng ta muốn làm là sửa đổi định nghĩa hàm để đặt nó nhận một tham số ( 93). Và sau đó khi chúng ta chạy hàm, chúng ta thực sự phải truyền cho nó một chuỗi (chúng ta sẽ sử dụng 95), và sau đó chúng ta sẽ có lời chào 2Điều này làm cho chức năng này đẹp và có thể tái sử dụng, đồng thời chúng ta có thể sử dụng nó để in ra bất kỳ tên nào như vậy 👇 Miễn là chúng ta truyền vào một đối số (trong trường hợp này là "Wes"), nó sẽ có một biến bên trong hàm đó được tham chiếu đến bất cứ thứ gì người đó đã truyền vào Nếu chúng tôi không chạy nó với bất cứ thứ gì, bạn sẽ thấy. 👇 Lý do xảy ra là khi một hàm chạy, nó sẽ tạo biến cho chúng ta ( 93) và đặt nó thành bất cứ thứ gì được truyền vàoNhưng nếu nó tạo một biến và ai đó không chuyển vào bất cứ thứ gì, thì nó sẽ được đặt thành không xác định, đó chính xác là cách các biến hoạt động Thậm chí nhiều ví dụ hơnBây giờ chúng ta hãy đi qua một vài ví dụ nữa Hãy quay trở lại với các biểu thức truyền. Đối với ví dụ này, chúng tôi sẽ quay lại 7 3Chúng tôi biết mã ở trên hoạt động nhưng nếu thay vào đó chúng tôi làm thì sao 👇 4Đó là sẽ làm việc? Nếu bạn tải 90 trong trình duyệt, bạn sẽ thấy 99(Nếu bạn theo sát Wes quá, bạn có thể đã nhận được giá trị 90. 5. Nếu đúng như vậy, dòng mã tính toán tổng trong 7. Nó phải là 11. Điều này là do 12, chúng tôi cần dấu ngoặc đơn)Điều đó hoạt động Tại sao? Bởi vì điều duy nhất mà một hàm có thể nhận vào là một giá trị và liệu bạn có chuyển trực tiếp giá trị đó, chẳng hạn như trong một số hay không, liệu bạn có chuyển giá trị đó dưới dạng một biến chứa giá trị hay không, điều đó sẽ hiệu quả và sau đó bạn cũng có thể chuyển Trong ví dụ này, chúng tôi không thực sự chuyển một biểu thức, chúng tôi thực sự đang chạy một biểu thức và biểu thức đó trước tiên sẽ chạy ( 13) và cộng nó lên tới $90, sau đó chúng tôi chuyển giá trị thô đó là 90Hoàn toàn ổn khi làm điều gì đó thích, trên thực tế, điều đó khá phổ biến Bạn thậm chí có thể trộn và kết hợp Giả sử chúng ta có một biến 14 và sau đó chúng ta muốn cộng thêm $50 vào biến đó. Bạn có thể làm một cái gì đó như 5Nó vẫn hoạt động, mặc dù chúng tôi đang trộn và kết hợp Hãy xóa ví dụ 15 và thực hiện một ví dụ khác trong đó chúng tôi chuyển các hàm dưới dạng đối sốTạo một hàm 16 sẽ nhận đối số 17 và trả về tên có "Dr. " phía trước như vậy 👇 6Và chúng ta sẽ tạo một hàm khác có tên là 18 cũng nhận vào một tên và trả về "HEY" với tên biến viết hoa như vậy 👇 7Bạn có thể nhận thấy rằng cả hai hàm đều đang sử dụng biến 17Mặc dù việc sử dụng lại các biến trong cùng một phạm vi nhiều lần là không ổn, nhưng việc sử dụng lại các tham số là hoàn toàn có thể Tại sao? . Điều đó sẽ không xảy ra vì các tham số nằm trong phạm vi giới hạn của các chức năng của chính chúng Tham số 17 được sử dụng trong phương thức 91 sẽ không bao giờ xung đột với biến trong phương thức 92Hãy tiếp tục và chạy nó trong bảng điều khiển. 👇 Hãy chuyển đầu ra của 91 thành 18 bằng cách nhập nội dung sau vào bảng điều khiển 👇 8Nó hoạt động như thế nào
Vì vậy, để tóm tắt lại -- một cách khác chúng ta có thể chuyển một giá trị cho một hàm là đầu ra của một hàm, bởi vì đó chỉ là một giá trị vào cuối ngày và bạn có thể chạy trực tiếp giá trị đó như minh họa ở đây Giá trị mặc định Bây giờ, hãy nói về các giá trị mặc định Nếu chúng ta sử dụng hàm 18 và thay vì truyền nó là "Wes", chúng ta không truyền một đối số, nó sẽ báo lỗiĐiều đang xảy ra là hàm 00 (về mặt kỹ thuật là một phương thức), nó đang cố chạy nó với thứ gì đó không được chuyển vào. Điều này có nghĩa là nếu ai đó quên chuyển một giá trị cho hàm 18, mã của chúng ta sẽ bị hỏngNhững gì chúng tôi có thể làm là chúng tôi có thể thiết lập một cái gì đó gọi là mặc định. Khi bạn xác định chức năng của mình, bên trong định nghĩa chức năng của bạn, bạn có thể đặt mặc định bằng cách nói tên bằng 'Ngỗng ngớ ngẩn', như minh họa bên dưới 9Nếu bạn chạy nó và truyền một đối số, nó vẫn hoạt động Tuy nhiên, khi bạn chạy nó mà không có đối số, hàm sẽ không còn lỗi nữa và thay vào đó sẽ trở về giá trị mặc định cho tham số và xuất ra 02Vì vậy, khi bạn xác định chức năng của mình, bạn có thể chỉ định nếu ai đó không chuyển tham số này 17, hãy sử dụng giá trị mặc địnhHãy quay lại hàm 7 của chúng taBạn có thể nghĩ rằng thật ngớ ngẩn khi phải thông qua thuế suất mỗi lần. Chúng tôi sẽ sử dụng một giá trị mặc định để đặt thuế suất mặc định là 0. 13, bằng cách sửa đổi chức năng như vậy 👇 0Điều cho phép chúng tôi làm là gọi 05 và chỉ chuyển giá trị cho 8Wes thường thích đặt các giá trị mặc định khi anh ấy tạo các hàm. Thậm chí chỉ cần thêm một giá trị mặc định cho một biến chuỗi của một chuỗi rỗng 1Điều đó sẽ đảm bảo chức năng không bị lỗi, nó sẽ không hiển thị tên như vậy 👇 Đó chỉ là biện pháp bảo vệ Hãy tiến thêm một bước nữa và sửa đổi 7 để nhận thêm tiền boaThêm một đối số khác có giá trị mặc định là 08 👇 2Bây giờ chúng ta sẽ thay đổi cách tính tổng như vậy 👇 3Bạn có thể nhận thấy rằng khi bạn lưu tệp, Prettier sẽ xóa dấu ngoặc đơn nếu không cần thiết (các quy tắc BEDMAS không cần thiết ở đây) LƯU TRƯỚC 👉 SAU TIẾT KIỆM VỚI PRETTIER 👉 Nếu chúng ta chạy 7 và chuyển cho nó 100 đô la, nó sẽ trả về 128Cách quay lại mặc định cho chỉ một tham sốVấn đề nan giải xảy ra ở đây là nếu bạn muốn sử dụng thuế suất mặc định chứ không phải tipRate mặc định thì sao? 4Nếu bạn cố gắng để trống đối số và sử dụng hai dấu phẩy như hình trên 👆, nó sẽ bị hỏng 👆 Lỗi phàn nàn về mã thông báo không mong muốn 10Vì vậy, điều duy nhất mà bạn có thể chuyển vào một hàm để khiến nó sử dụng giá trị mặc định là không xác định. Một chức năng sẽ chỉ trở về giá trị mặc định nếu không có gì được thông qua Hãy nhớ khi một biến không được đặt thành bất kỳ thứ gì, giá trị của nó là 11. Vì vậy, bạn không thể tiếp tục và vượt qua số 0 ở đây và mong đợi nó sai về mặc định 5Bạn phải thực sự vượt qua nó 11, 👆 như được hiển thị ở trên và nó sẽ hoạt động như chúng tôi dự địnhRất hiếm khi bạn phải vượt qua 11 như vậy nhưng bạn nên biết cách một hàm quyết định có quay lại mặc định hay không
Làm cách nào để lấy tên tham số trong hàm JavaScript?Cho bất kỳ hàm JavaScript tùy ý nào và nhiệm vụ là trả về tên tham số của hàm. Tiếp cận. JavaScript chứa một phương thức gọi là Function. toString() được sử dụng để biểu diễn mã hàm thành biểu diễn chuỗi của nó. Phương thức này được sử dụng để lấy tên/giá trị tham số.
Làm cách nào để lấy tên biến từ tham số JavaScript?Để lấy tên biến dưới dạng Chuỗi trong JavaScript, hãy sử dụng Đối tượng. keys() để lấy mảng keys và lấy phần tử đầu tiên . Vật. keys() trả về một mảng tên thuộc tính riêng của đối tượng được cung cấp, được lặp theo thứ tự tương tự như vòng lặp for hoặc vòng lặp while.
Làm cách nào để truy cập các tham số trong hàm JavaScript?Các đối số là một đối tượng cục bộ của một hàm. Bạn có thể coi nó như một biến cục bộ có sẵn với tất cả các hàm theo mặc định ngoại trừ các hàm mũi tên trong JavaScript. Đối tượng này (đối số) được sử dụng để truy cập tham số được truyền cho hàm . Nó chỉ có sẵn trong một chức năng.
Tham số được đặt tên trong js là gì?Với các tham số được đặt tên, nhà phát triển không cần phải nhớ những tham số nào cần thiết cho chức năng, vì IDE sẽ cho họ biết và họ không cần phải tham gia . . |