call(thisArg, arg1, arg2) gọi hàm ngay với this chỉ định, truyền args riêng lẻ. apply(thisArg, [arg1, arg2]) gọi ngay nhưng truyền args dạng array — mẹo nhớ: apply = array. bind(thisArg) trả về hàm mới với this cố định, không gọi ngay.
Ví dụ thực tế: const greet = function(greeting) { return greeting + ' ' + this.name; }; greet.call({name: 'An'}, 'Hello') trả về 'Hello An'. bind thường dùng khi truyền method như callback: btn.addEventListener('click', obj.method.bind(obj)).