function noExp(n){
var data= String(n).split(/[eE]/);
if(data.length== 1) return data[0];
var z= '', sign= this<0? '-':'',
str= data[0].replace('.', ''),
mag= Number(data[1])+ 1;
if(mag<0){
z= sign + '0.';
while(mag++) z += '0';
return z + str.replace(/^\-/,'');
}
mag -= str.length;
while(mag--) z += '0';
return str + z;
}
noExp(n) // String "0.0000000975"
x.y
будет обращаться к бэкенду по адресу api/x.y/method
Так параллельно смогут жить и работать несколько версий скрипта+API..split('').reverse().join('')
и проверять только начало /^\d{4,}_/
var re = new RegExp('^https?://(\\w+\\.)?avito\\.ru/([^/]+/)+([a-z_]+(?!_\\d{4,}))$');
var t1 = 'https://www.avito.ru/moskva/odezhda_obuv_aksessuary/magazin_pizham_kigurumi_na_lubyanke_56545';
var t2 = 'https://www.avito.ru/moskva/kvartiry/snimu';
re.test(t1) // false
re.test(t2) // true
messages.send()
:photo — фотография;
video — видеозапись;
audio — аудиозапись;
doc — документ;
wall — запись на стене;
market — товар.
function parseVkLink(link) {
var re = new RegExp('(photo|video|audio|doc|wall|market)(\\d+)_(\\d+)');
var matches = link.match(re);
if(matches) {
return {
type: matches[1],
ownerId: matches[2],
objectId: matches[3],
};
} else {
return false;
}
}
var test = 'https://vk.com/durov?z=photo1_456315566%2Falbum1_00%2Frev';
JSON.stringify( parseVkLink(test) ) // {"type":"photo","ownerId":"1","objectId":"456315566"}
func
в вашем первом варианте «не знает» что у переменной array
есть какое-то там значение. Ведь её, функцию эту, объявили раньше и выше )array
известен на момент, когда заряжают таймер.function myFunc(arr, func) {
arr.forEach( ( ) => {
setTimeout(
func.bind(null, arr), // привязываем к функции аргумент
1000
)
})
}
myFunc([1, 2, 3, 4], (a) => {
console.log("print array after each 1 second", a);
});
jQuery.on()
регистрирует слушателя события клика. В функцию myFunc
при клике передастся аргумент – событие клика.var myEvent = {
target: document.getElementById('button_id'),
// ... ещё куча стандартных свойств
};
myFunc(myEvent);
"Hello!".replace(/(.(?!$))/g,'$1-')
(?!$)
) – заменяется на себя $1
и дефис. eval(code)
на console.log(code)
var
.var tempScrollTop
, currentScrollTop = 0
;
tempScrollTop
остаётся неинициализированной, её значение undefined
, а во 2-м варианте ей даётся начальное значение 0
. function sum2d(arr) {
var row, col, sum = arr[0].slice();
for( row = 1; row < arr.length; row++) {
for( col = 0; col < sum.length; col++) {
sum[col] += arr[row][col];
}
}
return sum;
}
sum2d([
[1,2,3],
[8,9,0],
])
// [9,11,3]
function* rnd(n) {
var nums = [], i, randomIndex, itemAtIndex;
for( i=0; i<n; nums.push(i++));
for( i=n-1; i>=0; i--) {
randomIndex = Math.floor(Math.random()*(i+1));
itemAtIndex = nums[randomIndex];
nums[randomIndex] = nums[i];
nums[i] = itemAtIndex;
}
i = n - 1
while(i >= 0)
yield nums[i--];
}
var gen = rnd(10);
while(true) {
var v = gen.next();
if( v.done) break;
console.log(v.value);
}
console.log('Done!');