PHP|Cài đặt XDebug trên Win với Xampp

Để kiểm tra đã có XDebug chưa vào http://localhost/dashboard/phpinfo.php sau đó tìm 'XDebug' nếu có thì đã cài đặt rồi và dừng bài này tại đây 🙂 Để cài đặt trước tiên cần tải XDebug extension về trước, bạn vào đây và lựa chọn version phù hợp với Win và PHP version đang dùng. Trên … Continue reading PHP|Cài đặt XDebug trên Win với Xampp

Javascript|Hoạt động như thế nào ?

Trong phần hôm này mình sẽ giới thiệu sơ qua về cách mà javascript hoạt động. Bản thân mình có làm về javascript nhưng trước đây thật sự là không nắm rõ cách hoạt động của nó cho lắm mà chủ yếu là lôi ra xài thôi =)) chán thiệt chứ... Trong bài này mình … Continue reading Javascript|Hoạt động như thế nào ?

Javascript|Closure

Đầu tiên ta cần nhắc lại sơ qua phần function scope trong javascript . Gồm có global và local scope. Một function có thể truy cập các biến global được khai báo bên ngoài function và các biến local được khai báo bên trong function. let a = 1; function run() { console.log(a); // out-> 1 } Tuy nhiên từ bên ngoài không thể truy cập được các đối tượng được khai báo bên trong function. function run() { var a = 1; } console.log(a); // ReferenceError: a is not defined Bây giờ bạn hãy xem qua đoạn code sau và đoán nó sẽ log ra là gì ? function run() { let x = 1; function run2() { console.log(x); } run2(); } run(); Dễ quá đúng không, chính xác đó là 1. Vì hàm run2 đã được gọi thực thi bên trong hàm run() và … Continue reading Javascript|Closure

Javascript| Currying function

Giả sử bạn có function truyền nhiều tham số thực hiện một viêc gì đó trong đó có một vài tham số ít khi thay đổi giá trị (ít chứ không phải không có thay đổi) như vậy là mỗi lần gọi hàm bạn phải truyền lặp đi lặp lại cái tham số đó nhiều lần và currying function xuất hiện. Vậy nó là gì mà ghê gớm vậy bây ? vâng nó chỉ là một giải pháp giải quyết vấn đề trên dựa vào các cách sau: + Trả về một nested function (function lồng nhau) + Dùng Bind() của Function.prototype xem thêm Bind() Thoai các bạn cùng xem các ví dụ sau để dễ hình dung hơn nhá. Đầu tiên nếu như ta không áp dụng currying function thì mình phải gọi như thế này đây … Continue reading Javascript| Currying function

Javascript|Bind(), Call(), Apply()

Để đọc và cảm nhận bài này tốt hơn, trước hết các bạn nên đọc sơ qua bài về [this] về [các loại function cơ bản]. Đầu tiên Bind(), Call(), Apply() đều nằm trong Function.Prototype của javascript nên chỉ 3 thằng này chỉ được gọi ra xài từ function() thôi. 3 em này đều có … Continue reading Javascript|Bind(), Call(), Apply()

Javascript|Các loại function

Trong javascript có 3 loại function cơ bản sau: Declaration Function Đây là loại khai báo function cơ bản trong javascript và với loại này sẽ có áp dụng Hoisting trong javascript. function doSomething() { console.log('doSomething'); } Expression Function (anonymous function) Hay còn gọi là anonymous function (function không tên).Function kiểu này sẽ được gán … Continue reading Javascript|Các loại function