obj.<name>
ищет свойство с именем name
. В вашем случае obj.key будет искать поле key
.obj['hello' + 'world']
.'hello' + 'world'
, вычисляется значение 'helloworld'
и потом ищется поле helloworld
.obj[key]
происходят аналогичные вычисления. Смотрим, что находится внутри []
- там key
, key - это переменная, берем её значение и ищем поле с таким названием.function scrollingText(str) {
const upper = str.toUpperCase();
const result = [upper];
let current = upper;
for (let i = 1; i < upper.length; i++) {
current = current.slice(1) + current[0];
result.push(current)
}
return result;
}
scrollingText('robot');
function Loader(){
// Описываем все нужные методы и свойства
this.queue=[]
this.clearqueue=function()[this.queue=[]}
this.loadScripts=function(array_of_scripts){ /* ... */ }
// и т.д.
}
//Создаём объект
var l=new Loader()
l.loadScripts(["/script_1.js","/script_2.js"])
var test = function(foo){
/* тут действия */
var anythis=...; // формируем собственный this
// функция foo должна уметь работать с нашим новым this
foo.call(anythis); //Или apply, надо под ситуацию подстраиваться.
//Или так:
func=foo.bind(anythis);
func();
};
test(function(){
this.MyMethod();
});