Хром|Файрфокс|ещё что-то
. Слова разделяются вертикальной чертой. Статья для начинающих - https://tproger.ru/articles/regexp-for-beginners/ // лексическое окружение это все переменные
// которые доступны в момент создания функции
const lexEnv = 42
const lexEnv2 = 32
const lexEnv3 = 16
const lexEnv4 = 4
// создаём функцию
function fn() {
console.log([
lexEnv, // эта переменная взята из окружения
this,
this.field + lexEnv
])
}
const obj1 = {
field: 8,
myFn: fn
}
obj1.myFn() // здесь this становится равен obj1, this.field === 8
// пример другого this
let obj2 = {
field: 100
}
obj2.myFn2 = obj1.myFn
// если мы использовать функцию как метод другого объекта
obj2.myFn2() // здесь this становится равен obj2, this.field === 100
function getListIdx(str, substr) {
let listIdx = []
let lastIndex = -1
while ((lastIndex = str.indexOf(substr, lastIndex + 1)) !== -1) {
listIdx.push(lastIndex)
}
return listIdx
}
getListIdx('abc bca abcabc cba', 'abc') // [ 0, 8, 11 ]
font-variation-settings: "wdth" 75;
class Human {
constructor(name) {
this.name = name
}
sayHelloWorld() {
console.log(this.name + ' says: Hello, World!')
}
sayHelloBob() {
console.log(this.name + ' says: Hello, Bob!')
}
sayHelloAlice() {
console.log(this.name + ' says: Hello, Alice!')
}
}
class Human {
constructor(name) {
this.name = name
}
sayHello(name) {
console.log(`${this.name} says: Hello, ${name}!`)
}
sayHelloWorld() {
this.sayHello('World')
}
sayHelloBob() {
this.sayHello('Bob')
}
sayHelloAlice() {
this.sayHello('Alice')
}
}
C:\Users\Пользователь\AppData\Roaming\Sublime Text 3\Local\Session.sublime_session