Этот объект ближе к рельсовым лесам: https://github.com/modocache/django-generate-scaffold
Основное различие между Вызовом, Примените и Свяжите:
Связывают, будет использоваться, если Вы захотите, чтобы Ваш контекст выполнения прибыл позже в изображение.
Исключая:
var car = {
registrationNumber: "007",
brand: "Mercedes",
displayDetails: function(ownerName){
console.log(ownerName + ' this is your car ' + '' + this.registrationNumber + " " + this.brand);
}
}
car.displayDetails('Nishant'); // **Nishant this is your car 007 Mercedes**
Скажем, я хочу, используют этот метод в некоторой другой переменной
var car1 = car.displayDetails('Nishant');
car1(); // undefined
Для использования ссылки автомобиля в некоторой другой переменной, которую необходимо использовать
var car1 = car.displayDetails.bind(car, 'Nishant');
car1(); // Nishant this is your car 007 Mercedes
, Давайте говорить о более широком применении, связывают функцию
var func = function() {
console.log(this)
}.bind(1);
func();
// Number: 1
Почему? Поскольку теперь func, связывают с Номером 1, если мы не используем, связывают в этом случае, он укажет на Глобальный объект.
var func = function() {
console.log(this)
}.bind({});
func();
// Object
Вызов, Подайте заявку, используются, когда Вы хотите выполнить оператор одновременно.
var Name = {
work: "SSE",
age: "25"
}
function displayDetails(ownerName) {
console.log(ownerName + ", this is your name: " + 'age' + this.age + " " + 'work' + this.work);
}
displayDetails.call(Name, 'Nishant')
// Nishant, this is your name: age25 workSSE
In apply we pass the array
displayDetails.call(Name, ['Nishant'])
// Nishant, this is your name: age25 workSSE