Hướng dẫn how do you create a new function in javascript? - làm thế nào để bạn tạo một hàm mới trong javascript?

Mỗi hàm JavaScript thực sự là một đối tượng Function. Điều này có thể được nhìn thấy với mã (function () {}).constructor === Function, trả về đúng.

Người xây dựng

Function()

Tạo một đối tượng Function mới. Gọi hàm xây dựng trực tiếp có thể tạo các chức năng một cách linh hoạt nhưng bị các vấn đề về bảo mật và tương tự (nhưng ít quan trọng hơn) đối với eval(). Tuy nhiên, không giống như eval(), hàm tạo Function chỉ tạo các chức năng thực hiện trong phạm vi toàn cầu.

Thuộc tính thể hiện

Function.prototype.arguments DEVENATEDNON-STANDARDDeprecated Non-standard

Một mảng tương ứng với các đối số được truyền đến một hàm. Điều này không được chấp nhận như một tài sản của Function. Sử dụng đối tượng Function0 (có sẵn trong hàm) thay thế.

Function1 không chuẩnNon-standard Deprecated

Chỉ định chức năng gọi chức năng hiện đang thực hiện. Thuộc tính này không được dùng và chỉ có chức năng cho một số chức năng không nghiêm ngặt.

Function2 không chuẩnNon-standard Optional

Tên hiển thị của hàm.

Function3

Chỉ định số lượng đối số dự kiến ​​của hàm.

Function4

Tên của hàm.

Function5

Được sử dụng khi hàm được sử dụng làm hàm tạo với toán tử Function6. Nó sẽ trở thành nguyên mẫu của đối tượng mới.

Phương pháp thể hiện

Function7

Gọi một hàm có giá trị Function8 đã cho và các đối số tùy chọn được cung cấp dưới dạng mảng (hoặc một đối tượng giống như mảng).

Function9

Tạo một hàm mới, khi được gọi, có từ khóa Function8 được đặt thành một giá trị được cung cấp, tùy chọn với một chuỗi các đối số nhất định trước bất kỳ được cung cấp nào khi hàm mới được gọi.

(function () {}).constructor === Function1

Gọi một hàm với giá trị Function8 đã cho và các đối số tùy chọn.

(function () {}).constructor === Function3

Trả về một chuỗi đại diện cho mã nguồn của hàm. Ghi đè phương thức (function () {}).constructor === Function4.

Ví dụ

Sự khác biệt giữa hàm tạo chức năng và khai báo chức năng

Các chức năng được tạo ra với hàm tạo Function không tạo ra các đóng cửa cho bối cảnh sáng tạo của chúng; Chúng luôn được tạo ra trong phạm vi toàn cầu. Khi chạy chúng, chúng sẽ chỉ có thể truy cập các biến cục bộ và các biến toàn cầu của riêng họ, chứ không phải các biến từ phạm vi mà hàm tạo Function được tạo. Điều này khác với việc sử dụng eval() với mã cho biểu thức chức năng.

// Create a global property with `var`
var x = 10;

function createFunction1() {
  const x = 20;
  return new Function('return x;'); // this `x` refers to global `x`
}

function createFunction2() {
  const x = 20;
  function f() {
    return x; // this `x` refers to the local `x` above
  }
  return f;
}

const f1 = createFunction1();
console.log(f1());          // 10
const f2 = createFunction2();
console.log(f2());          // 20

Mặc dù mã này hoạt động trong các trình duyệt web, (function () {}).constructor === Function8 sẽ tạo ra (function () {}).constructor === Function9 trong Node.js, vì Function()0 sẽ không được tìm thấy. Điều này là do phạm vi cấp cao nhất trong nút không phải là phạm vi toàn cầu và Function()0 sẽ là cục bộ với mô-đun.

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # Sec-Function-Enjects
# sec-function-objects

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Làm thế nào để bạn tạo một chức năng mới?

Để tạo chức năng của riêng bạn, bạn cần phải làm bốn điều:..
Viết loại trả về của hàm ..
Viết tên của hàm ..
Bên trong ngoặc đơn (), liệt kê bất kỳ tham số nào mà hàm mất ..
Bên trong dấu ngoặc xoăn {}, viết mã sẽ chạy bất cứ khi nào chức năng được gọi. Đây được gọi là cơ thể của chức năng ..

Những cách để tạo một chức năng trong JavaScript là gì?

Có bốn cách có thể tạo ra một hàm trong JavaScript ...
Một chức năng như một tuyên bố ..
Một chức năng như một biểu thức ..
Một chức năng như một hàm mũi tên ..
Một hàm được tạo bằng hàm tạo hàm ..

Chức năng mới trong JavaScript là gì?

Toán tử mới cho phép các nhà phát triển tạo một thể hiện của loại đối tượng do người dùng xác định hoặc của một trong các loại đối tượng tích hợp có hàm tạo hàm.lets developers create an instance of a user-defined object type or of one of the built-in object types that has a constructor function.

Hàm () () trong javascript là gì?

Một hàm trong JavaScript tương tự như một thủ tục, một tập hợp các câu lệnh thực hiện một tác vụ hoặc tính toán một giá trị, nhưng đối với một quy trình để đủ điều kiện làm chức năng, nó sẽ lấy một số đầu vào và trả về một đầu ra trong đó có một số mối quan hệ rõ ràng giữađầu vào và đầu ra.a set of statements that performs a task or calculates a value, but for a procedure to qualify as a function, it should take some input and return an output where there is some obvious relationship between the input and the output.