let input = document.querySelector('.input');
let p = document.querySelector('.resultParagraph');
input.addEventListener("input",(e)=>{
if(e.target.value.trim() == "")
Array.from(p.children).forEach(el=>{
p.replaceChild(document.createTextNode(el.textContent),el);
});
});
input.addEventListener("change",(e)=>{
p.innerHTML = p.innerHTML.replace(new RegExp(input.value, 'gmi'), (a)=>
`<span style="background: red;">${a}</span>`
);
});
let input = document.querySelector('.input');
let p = document.querySelector('.resultParagraph');
input.addEventListener("input",(e)=>{
Array.from(p.children).forEach(el=>{
p.replaceChild(document.createTextNode(el.textContent),el);
});
p.innerHTML = p.innerHTML.replace(new RegExp(input.value, 'gmi'), (a)=>
`<span style="background: red;">${a}</span>`
);
});
let k = 0;
for(; k < 3; k++) {
setTimeout(function() {
console.log(k);
}, 500);
};
Во первых, для меня было странным то, что при вызове конструкции new F( ) не создался объект, ну в принципи я допустил, что в переменную b записалась возвращаемая из функции F( )
a
в объекте, возвращенном функцией, конструктором, нужно убрать return
из F
метод = function(){
console.log(this)
};
и(не важно как) пихаем его в какие-то объекты.хрень.метод() // this - хрень
хрень.кишки.метод() // this - хрень.кишки
метод() // this - window
хрень.метод.call(хрень.кишки) // this - хрень.кишки
метод.call(хрень.кишки) // this - хрень.кишки
метод.call(null) // this - null
элемент.addEventListener('оппа', хрень.метод) // this -элемент
элемент.addEventListener('оппа', метод) // this -элемент
элемент.addEventListener('оппа', хрень.кишки.продукт.метод) // this -элемент
fn.call(!this ? this : obj)
- это чушь скорее всего. Если this - falsy, то ставим его как this при вызове функции fn, иначе ставим obj. Falsy this может быть только при явном указании(или в strict режиме, при вызове функции напрямую("без точки перед ней")), и скорее всего передача пустого this в таком случае просто сломает выполнение fn.метод = () => {
console.log(this)
};
это можно считать за явное указание this, потому что this тут всегда привязан тот, что был при создании стрелочной функции, независимо от того как и откуда её вызывают. var data = [
{
name:'Психотип - это',
radio:['темперамент','акцентуация','соционический тип','экстраверсия','архетип','характер','ничего из этого'],
answer: 7,
},
{
name:'Что позволяет игра с точки зрения социологов?',
checkbox:['выразить себя','снять запреты','снять напряжение',],
answer: 1 + 10, //+100
},
{
name:'Что есть игра с точки зрения биогенетиков?',
checkbox:['атавизм','приготовление к жизни','снятие напряжения',],
answer: 1, // +10 +100,
},
// и так далее
];
function createArr(n, name){
var tempArr = new Array(n)
for(var k=0; k<n; k++){
tempArr[k] = 1+Math.floor(10*Math.random())
}
window[name] = tempArr;
};
createArr(5, 'test');
console.log(test);
images = ['a','b','c','d']
// "https://www.stihi.ru/pics/2005/12/19-543.jpg" , и так далее
current = 0
// начинаем с первого, то есть "нулевого" элемента в массиве
aL.onclick=function(){
alert("Arrow left") //в этих фукнциях и есть вопрос
current = current - 1 < 0 ? images.length - 1 : current - 1
// меняем индекс текущего и перерисовываем в слайдере картинку на images[current]
}
aR.onclick=function(){
alert("Arrow right") //в этих фукнциях и есть вопрос
current = current + 1 > images.length - 1 ? 0 : current +1
// меняем индекс текущего и перерисовываем в слайдере картинку на images[current]
}
Если можете, приведите примеры использования данного метода, ну и конечно объясните мне мои вопросы, спасибо!
Function.prototype.method = function(name, func){
this.prototype[name] = func;
return this
};
function Person(name) {
this.name = name
}
Person
.method('say', function() {
console.log('dude!')
})
.method('myName', function() {
console.log(this.name)
});
var person = new Person('Alex')
person.say() // dude!
person.myName() // Alex
var oneStyle={
backgroundColor: "lime"
};
function change(el, obj)
{
for(var k in obj)
{
el.style[k] = obj[k];
}
}
document.addEventListener("DOMContentLoaded", function(event) {
var el = document.getElementById("some");
change( el, oneStyle )
});
var bisOne = [1,2,3,4,5].map(function(e){return e*10});
var bisOne = [1,2,3,4,5];
bisOne.forEach(function(e,i,arr){arr[i]=e*10});
constructor
работает как конструктор только в составе es6 класса.class Person {
constructor(name,age) {
this.name=name;
this.age=age;
}
};
var One = new Person("Alex", 32);
var Person = {
constructor: function(name,age){
this.name=name;
this.age=age;
}
};
var One = Object.create(new Person.constructor("Alex", 32));
console.log(One.name);
var One = Object.create(Person).constructor("Alex", 32);
.constructor()
. а что он возвращает? ничего. а точнее undefined. когда функция явно ничего не возвращает, она возвращает undefined. поэтому строчка кода выше, эквивалента строчке:var One = undefined
constructor: function(name,age){
this.name=name;
this.age=age;
return undefined
}
Что означает конструкция return this?означет, что функция возвращает текущий контекст. контекстом в данном случае будет являтся объект, созданный с помощью
Object.create()