characterData: true
).function Equipment() {
var Bag = [];
this.addTool = function(tool) {
Bag.push(tool);
console.log("Added. Bag:", Bag);
}
}
function Tools() {
this.item1 = {
name: "item1",
price: 5,
count: 10
};
this.item2 = {
name: "item2",
price: 15,
count: 20
};
this.item3 = {
name: "item3",
price: 20,
count: 30
};
this.item4 = {
name: "item4",
price: 30,
count: 40
};
this.item5 = {
name: "item5",
price: 40,
count: 50
};
}
var equipment = new Equipment();
var tools = new Tools();
equipment.addTool(tools.item1); //
;(function(){
var today = new Date().getDate()
, checkInterval = 500 // ms
;
function check() {
if((new Date).getDate() !== today) window.location.reload(true);
else setTimeout( check, checkInterval);
}
check();
})();
foreach ($request->getParams() as $key => $param) {
foreach ($_REQUEST as $key => $param) {
$sign = "";
foreach($_REQUEST AS $key => $param) {
if ($key == 'hash' || $key == 'sign') continue;
$sign .=$param;
}
$secret = '3iiyZNDFaXgR6yZMxK'; // Настройки приложения – Защищённый ключ
$sig = $secret ? hash_hmac('sha256', $sign, $secret) : "";
if( $sig === $_REQUEST['sign']) {
echo "Подписи совпали.";
} else {
echo "Разные подписи, не хорошо.";
}
var content = document.querySelector(".entry-content");
var button = document.querySelector("#button");
function copyToClipboard(el) {
var range;
if (document.selection) {
range = document.body.createTextRange();
range.moveToElementText(el);
range.select().createTextRange();
} else if (window.getSelection) {
range = document.createRange();
range.selectNode(el);
window.getSelection().addRange(range);
} else return;
document.execCommand("copy");
}
button.addEventListener('click', () => copyToClipboard(content));
.colorAdd()
, чтобы вызывать так, как вы написали. Вместо elem.colorAdd();
colorAdd.apply(elem);
colorAdd()
, назначив её контекстом (значением this
) переданный первым параметром elem
и всё сработает так, как вы задумали. Фиддл. const delay = _ => new Promise(rs => setTimeout(rs, 3e3));
async function notSoFast(promise) {
result = await Promise.all([ promise, delay()]);
return result[0];
}
async function runPromisesInSequence(promises) {
for (let i=0; i<promises.length; i++) {
if(i === 0) {
console.timeEnd( await promises[0]);
} else {
console.timeEnd( await notSoFast(promises[i]));
}
}
}
function makePr(label, dur) {
return new Promise(rs => {
console.log('%s started', label);
console.time(label); // начало отсчёта
setTimeout(_ => {
console.log('%s timer completed', label);
rs(label);
}, dur);
});
}
runPromisesInSequence([
makePr('r1', 1000),
makePr('r2', 5000),
makePr('r3', 0000),
]);
/* Выводит:
r1 started
r2 started
r3 started
r3 timer completed
r1 timer completed
r1: 1005ms
r2 timer completed
r2: 5007ms
r3: 8009ms
*/
23 -> 32
110 < 1001
Т.е. при переборе позиций меньше всего хотим двигать левую позицию, пока не переберем все варианты правой:0011
0101
0110
1001
1010
1100
function replacer(el){
var i, node, span;
if(el.hasChildNodes()) {
for(i=0; i<el.childNodes.length; i++) {
node = el.childNodes[i];
if(node.nodeType === Node.ELEMENT_NODE) {
if( !!~['SCRIPT','NOSCRIPT'].indexOf(node.nodeName)) continue;
replacer(node);
} else if( node.nodeType === Node.TEXT_NODE) {
if(node.nodeValue.match(/^\s+$/)) continue;
span = document.createElement("span");
span.innerHTML = node.nodeValue.replace(/([а-яА-Я]+)/ug, '<i>$1</i>');
el.insertBefore(span, node);
el.removeChild(node);
}
}
}
}
replacer(document.body);
<span>
, чтобы просто innerHTML ему заменить.const dGet = document.getElementById.bind(document);
const reSpace = /\s+/;
const div = dGet('text');
const text = div.innerText;
const words = text.trim().split(reSpace);
dGet('text_input').addEventListener('input', function(e){
var i, myWords = e.target.value.trim().split(reSpace),
theWords = words.slice();
var toCheck = e.target.value.substr(-1) === ' ';
if(!toCheck) myWords.length--;
for(i=0; i<Math.min(myWords.length, words.length); i++) {
if(words[i] !== myWords[i]) {
theWords[i] = '<i>' + words[i] + '</i>';
} else {
theWords[i] = '<b>' + words[i] + '</b>';
}
}
div.innerHTML = theWords.join(' ');
});