Друзья, есть ли вопросы на собеседовании о том, что this зависит от контекста вызова?Вполне могут быть, так как это одна из базовых концепций языка
Сохранилось ли эта особенность в классах и вообще ситуация в ES6?классы es2015 - всего лишь синтаксический сахар над прототипапами - более привычный синтаксис для пришедших из языков с классическим ООП, таких как java и C#
Если можете посоветуйте задачки на контекст, чтобы потренировать, ну или лайфхак, который поможет изи запомнить это.Надеюсь сойдет за лайфхак:
func()
вызов с контекстом по-умолчанию (undefined в strict режиме или глобальный объект не в strict режиме)func.call(ctx, ...args)
func.apply(ctx, args)
obj.func.call(ctx, ...args)
obj.func.apply(ctx, args)
вызов с указанным контекстом ctxobj.func()
вызов с контекстом obj(0, obj.func)()
хак "отвязка контекста", функция вызывается с контекстом по-умолчанию но как известно она не прям идеально подходит для отдачи статикиУ меня на сервере нода торчит наружу и отдает статику, притом делает это шустрее nginx и жрет меньше памяти, все зависит от рук программиста
Пишет защищено с помощью устаревших методов шифрованияssl устарел, используйте tls
function checkSpec() {
return driver.executeScript("var search = []; if (typeof xmlDataSpeclist !== 'undefined') {" +
"$.each(xmlDataSpeclist, function (key, item) {" +
"search.push(" +
"'http://domain/?spec='" + " + item.id" +
");" +
"});" +
"};" +
"return search;"
).then((search) => {
return Promise.all(search.map(function(val, i) {
console.log(search.length); //debug printing
return new Promise((resolve, reject) => {
request(search[i], function(error, response, body){
if (error) {
reject(error);
}
resolve(body);
});
}).then((body) => {
console.log(body);
assert.include(body, 'class="someClass"');
});
}));
});
}
return checkSpec();