Hướng dẫn how to create new function in javascript - cách tạo 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?

Để tạo một hàm, trước tiên chúng ta phải khai báo nó và đặt tên cho nó, giống như cách chúng ta tạo bất kỳ biến nào, và sau đó chúng ta tuân theo nó bằng một định nghĩa hàm: var Sayhello = function () {}; Chúng tôi có thể đặt bất kỳ mã nào bên trong hàm đó - một câu, nhiều câu - phụ thuộc vào những gì chúng tôi muốn làm.we must first declare it and give it a name, the same way we'd create any variable, and then we follow it by a function definition: var sayHello = function() { }; We could put any code inside that function - one statement, multiple statements - depends on what we want to do.

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.

Làm cách nào để tạo một JavaScript mới?

Tạo một đối tượng JavaScript Tạo một đối tượng duy nhất, sử dụng một đối tượng theo nghĩa đen.Tạo một đối tượng duy nhất, với từ khóa mới.Xác định một hàm tạo đối tượng, và sau đó tạo các đối tượng thuộc loại được xây dựng.Tạo một đối tượng bằng cách sử dụng Object.Create ().Create a single object, with the keyword new . Define an object constructor, and then create objects of the constructed type. Create an object using Object.create() .