var globalSong = 0;
var a = function (song) {
console.log(song);
};
globalSong++;
a(globalSong);
function send(type, data, callback) {
$.ajax({
method: "POST",
url: "send.php",
data: {
type: type,
data: data
},
success: function(result) {
callback(null, result);
},
error: function(error) {
callback(error);
}
});
}
send("type", "123", (error, res) => {
if (error) {
console.error(error)
return undefined;
}
console.log(res);
});
<app-something-component>
и задать хосту этого компонента правило переполнения:host {
overflow: hidden;
}
<devpav-expansion-panel-content>
высота выставлена в auto, то он автоматом схлопнится после того как схлопнится монтируемый элемент. function getFIO(name, surname, patronymic) {
this.name = name,
this.surname = surname,
this.patronymic = patronymic,
this.sayHello = function() {
console.log(`Меня зовут ${this.surname} ${this.name} ${this.patronymic}`);
}
}
var getFio = new getFIO('Юрий', 'Горячев', 'Александрович');
getFio.sayHello();
var getFio = new getFIO('Юрий', 'Горячев', 'Александрович');
var sayHello = getFio.sayHello;
sayHello() // в this теперь не объект getFio, а undefined
// или
someElement.addEventListener('click', getFio.sayHello, true) // контекст опять потерялся
function getFIO(name, surname, patronymic) {
var that = this // сохранили контекст в локальной переменной
this.name = name,
this.surname = surname,
this.patronymic = patronymic,
this.sayHello = function() {
console.log(`Меня зовут ${that.surname} ${that.name} ${that.patronymic}`); // теперь как бы ни вызвали эту функцию она всегда будет брать контекст из замыкания
}
}
// или
function getFIO(name, surname, patronymic) {
var sayHello = function() {
console.log(`Меня зовут ${this.surname} ${this.name} ${this.patronymic}`);
}
this.name = name,
this.surname = surname,
this.patronymic = patronymic,
this.sayHello = sayHello.bind(this) // явно указываем контекст выполнения функции
}
const object = {};
const newArray = []
arr1.forEach(item => object[item.id] = item) // перегоняем первый массив в объект, где ключи объекта id элемента
arr2.forEach(item => {
const objectItem = object[item.id];
if (objectItem !== undefined) {
const mergeItem = Object.assign({}, objectItem, item);
newArray.push(mergeItem);
object[item.id] = undefined;
}
})
Это будет быстрее чем вложенный цикл по второму массиву.
providers: [
{
provide: IfViewportSizeService,
useFactory: () => new IfViewportSizeService( config ) }
]
new HtmlWebpackPlugin({
filename: "index.html",
chunks: ["index", "common"], // у вас нет этих модулей
template: PATHS.app + "/templates/index.pug"
}),
config.entry = {
index: './index.js',
common: './common.css'
}
window.onload = function () {
if (document.getElementById('visTest').style.display == "none") // нужно передать конкретный id, это просто пример
{
document.getElementById('visTest').style.display = "block";
}
};
// переменная variable рандомится раз в секунду
var variable = 0;
var int = setInterval(function() {
variable = Math.random();
}, 1000);
// функция запускает интервал с проверкой argument > 0.5
function checker() {
var int = setInterval(function() {
if(variable > 0.5) {
console.log('переменная "variable" больше 0.5');
clearInterval(int);
};
}, 1000);
}
// запускаем проверку variable > 0.5;
checker();
$(function(){
var $element = $('#resp1:has(.free_domain)')
if ($element.length) {
$element
.css('cursor', 'pointer');
.on('click', function () {
window.open('http://yandex.ru', '_blank');
});
} else {
console.log('Элемент не содержит класс free_domain');
}
});
#style list-style-type {
color: #fff;
font-family:"Cuprum", sans-serif;
list-style-type: ;
}
#style li {
color: #fff;
font-family:"Cuprum", sans-serif;
list-style-type: ;
}