Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Gọi hàm validate() bên ngoài initValidation() trong JavaScript


Muốn gọi hàm validate() bên ngoài initValidation() mà không cần gọi initValidation().

Code ban đầu:

function initValidation(){ // irrelevant code function validate(_block){ // code } }

Vì function là object, ta gán validate làm property của this (context function):

function initValidation(){ // irrelevant code function validate(_block){ // code console.log(_block); } this.validate = validate; }

Bây giờ initValidation hoạt động như constructor class, validate là method. Gọi:

const v = new initValidation(); v.validate('Hello world');

Ví dụ hoàn chỉnh

function initValidation(){ function validate(_block){ console.log(_block); } this.validate = validate; } const v = new initValidation(); v.validate('Hello world');

Kết quả

Hello world

Pattern này biến function thành constructor function (factory). Cách hiện đại: dùng class hoặc export function riêng. this.validate = validate gán method vào instance.