polls.create()
– получили объект опроса, из которого понадобятся свойства owner_id
и id
."poll" + owner_id + "_" + id
– например, poll-123_456
arguments.callee
содержало название текущей функции/метода. Но в ES5 от этого отказались, и поэтому в strict mode это вызовет ошибку. "use strict";
можно было бы написать в каждой функции console.log( arguments.callee);
function loadCurrencyJSON() {
return '{"AUD":44.95,"GBP":73.42,"BRL":18.8,"USD":58.85,"EUR":62.68,"ZZZ":79.91}';
}
function convertCurrency (amount, from, to) {
let rates = JSON.parse(loadCurrencyJSON());
return ( amount / rates[to] * rates[from]).toFixed(2); // вернуть число, округленное до сотых
}
let price1 = convertCurrency(7000, 'ZZZ', 'USD');
console.log(`Сумма ${price1} USD`);
// Сумма 9505.01 USD
let price2 = convertCurrency(790, 'EUR', 'ZZZ');
console.log(`Сумма ${price2} Q`);
// Сумма 619.66 Q
$
– это объект jQuery. Через точку к нему обращаются, чтобы вызвать его методы или получить свойства. В вашем примере вызывается метод hide()
step
– туда можно передать функцию, которая будет вызываться при каждом шаге анимации. Можно запустить «пустую» анимацию, которая не будет ничего прятать, но станет вызывать упомянутую функцию. Иногда и такое нужно.$.each()
) позволяет «пробежаться» как по массиву, так и по объекту, выполняя какое-то действие с каждым из элементов/свойств. allow_url_fopen
никак не отразится на поведении cURL, например.iptables -I OUTPUT -p tcp --dport 80 -m owner --uid-owner apache -m state --state NEW -j REJECT
1970-01-01 00:00:00 UTC
. Он также в курсе временной зоны устройства, и может учитывать её при формировании вывода.function toDate(date, time) {
return new Date( Date.UTC( date + ' ' + time));
}
dd/mm/YYYY HH:mm
можно получить, составляя из компонент. Опять же, по UTC получить, или в локальной временной зоне? Для UTC будет выглядеть так:function pad(n){ return ('0' + n).substr(-2) }
function toUTCString(d) {
return '' + pad( d.getUTCDate()) + '/' + pad(d.getUTCMonth()+1) + '/' + d.getUTCFullYear()
+' ' + pad( d.getUTCHours()) + ':" + pad( d.getUTCMinutes());
}
https://vk.com/photo-212455842_372111103
<?php
$url = "https://vk.com/photo212455842_372111103";
if( preg_match("/(\-?\d+)_(\d+)$/", $url, $result)) {
$owner_id = $result[1]; // 212455842
$photo_id = $result[2]; // 372111103
echo "$owner_id - $photo_id\n";
} else {
echo "Не совпало чё-т..\n";
}
var r = ['купить','дешево','по ссылке'];
var msg = "хотите купить гараж?";
var re = new RegExp( r.join("|"), "gim"); // одно ИЛИ другое ИЛИ третье
if( re.test( msg)) { // спам detected }
var flag = false; // когда будет true - тушите свет!
function game() {
var i;
while(true) { // на самом деле из цикла так не выйти
// пока он крутится, другие потоки не смогут запуститься и изменить значение флага
i = i++;
if(flag) return; // выход, когда пора
}
}
setTimeout( function(){ flag = true;}, 60000}); // через минуту поднять флаг
game();
var timeToExit = (new Date).getTime() + 300000; // через 5 минут
function game() {
var i;
while(true) {
i = i++;
if( (new Date).getTime() >= timeToExit) return; // выход, когда пора
}
}
game();
$(document).ready(function(){
var key = "__body_boxed__";
var boxedState = false;
if( localStorage && JSON.parse(localStorage.getItem(key))) {
boxedState = true;
$("body").toggleClass("boxed");
}
$(".button").click(function(){
$("body").toggleClass("boxed");
boxedState = !boxedState;
localStorage && localStorage.setItem(key, JSON.stringify(boxedState));
return false;
});
});
rows
. Период этой «пилы» от верхнего пика до следующего верхнего пика составляет 2 * (rows - 1)
. Остаток от деления на этот период будет означать позицию внутри одного «зуба»:остаток: 0 1 2 3 4 5
строка: 0 1 2 3 2 1 – это хочется в итоге как-то получать
y = 0
и тогда отражение легко сделать, взяв абсолютное значение Math.abs()
:y : 3 2 1 0 -1 -2
abs: 3 2 1 0 1 2
0 1 2 3 4 5
, а нужно получить из него 3 2 1 0 -1 -2
. Умножить на -1 и добавить 3: Math.abs(rows - 1 - ost)
var i, ost, row, rows=4, period = 2 * (rows - 1); // 0 0 0 | 6 0 0
for(i = 0; i < 10; i++) { // 1 1 1 | 7 1 1
ost = i % period; // 2 2 2 | 8 2 2
row = rows - 1 - Math.abs(rows - 1 - ost); // 3 3 3 | 9 3 3
console.log( i, ost, row); // 4 4 2 | 10 4 2
} // 5 5 1 | 11 5 1
function encrypt( text, n) {
var i, ost, period = 2 * (n-1), r, row, out = [];
text = text.replace(/\s/g,""); // убрать пробелы
for(r = 0; r < period; r++) out[r] = ""; // пустые строки
for(i = 0; i<text.length; i++) {
ost = i % period;
row = n - 1 - Math.abs(n - 1 - ost)
out[row] += text.substr(i,1);
}
return out.join("");
}
function test( text, rows) {
var pre = document.createElement("pre");
pre.innerHTML = encrypt(text, rows);
document.body.appendChild(pre);
}
test("этот текст зашифрован", 4); // экинтесшфаоттарвтзо
function makeMap( len, n) {
var i, pip, period = 2 * ( n - 1);
var rows = Array.apply( null, Array( n)).map( function(){ return []});
for( i = 0; i < len; i++) {
pip = i % period;
r = pip < ( n - 1) ? pip : period - pip;
rows[ r].push( i);
}
return Array.concat.apply( null, rows);
}
function decrypt( text, n) {
var map = makeMap( text.length, n);
return text.split('').reduce(function(p,c,i,a){ return p + a[map.indexOf(i)]},'');
}
function encrypt( text, n) {
var map = makeMap( text.length, n);
return text.split('').reduce(function(p,c,i,a){ return p + a[map[i]]},'');
}