@a13xsus: 100 — это CV
function numberToId(number) {
var letters = "ABCDEFGHIJKLMNOPQRSTUVWYXZ"; // Алфавит
var output = "";
while(number) {
output = letters[(number - 1) % letters.length] + output;
number = Math.floor(number / letters.length);
}
return output;
}
a
и b
(условно). В некоторых языках (c) они обычно пишутся раздельно, но Вам нужно сделать лигатуру. Как ее сделать? Правильно: a ZWJ b
.o
и ~
. В некоторых языках они обычно пишутся слитно (~
над o
), но Вам нужно написать из раздельно (o~
). Как это сделать? Правильно: o ZWNJ ~
.replace("\", "")
"
, и код падает с синтаксической ошибкой.replace("\\", "")
replace(/\\/g, "")
\\
в пустую строку, хотя должно быть \
replace(/\\(.)/g, "\1")
<div class="column-wrapper">
<div class="column-button">Заказать</div>
<div class="column"></div>
</div>
.column-wrapper {
position: relative;
}
.column {
display: inline-block;
width: 200px;
height: 300px;
}
.column-button {
display: inline-block;
width: 180px;
height: 30px;
position: absolute;
left: 10px;
bottom: 20px;
}
.column-button:hover ~ .column {
/* Меняем .column при наведении на кнопку */
}
+/-
нет в памяти. Есть только 0/1
. Запись отрицательных чисел, как вы показали, называется дополнительный код. Он удобен при счете, так как практически не отличается от счета беззнаковых чисел.-
00000010 (2)
- 00000100 (4)
--------
11111110 (-2)
11111111 (-1)
+ 00000011 (3)
--------
100000010 (2) - здесь старший бит отбрасывается, так как у нас не больше 8 бит
11111111111111111111111111111110
как беззнаковое число, это 4294967294. Но это знаковое число! Старший (первый) бит показывает 1
, значит, это отрицательное число.00000000000000000000000000000001
00000000000000000000000000000010
2
.-
: -2
. return idCheck; return nameCheck; return emailCheck
Вы серьезно?
Даже без ... все равно проверку на валидацию не проходит. Теперь просто добавляет пользователей без проверки.
return
подряд, возвращается первый (idCheck). Когда return
нет, возвращается undefined
, который в if становится false
. Нужно сделатьreturn idCheck && nameCheck && emailCheck;
var str = "matrix(1 0 0 1 40 230)";
var matched = str.match(/(\d+)\s+(\d+)\)$/);
console.log(matched[1]); // 40
console.log(matched[2]); // 230
var str = "matrix(1 0 0 1 40 230)";
var content = str.match(/\((.+)\)/)[1]; // То, что в скобках
content = content.split(" "); // Поделить по пробелам
console.log(content); // [1, 0, 0, 1, 40, 230]
function isChrome() {
var isChromium = window.chrome,
winNav = window.navigator,
vendorName = winNav.vendor,
isOpera = winNav.userAgent.indexOf("OPR") > -1,
isIEedge = winNav.userAgent.indexOf("Edge") > -1,
isIOSChrome = winNav.userAgent.match("CriOS");
if(isIOSChrome){
return true;
} else if(isChromium !== null && isChromium !== undefined && vendorName === "Google Inc." && isOpera == false && isIEedge == false) {
return true;
} else {
return false;
}
}
const keypair = require('keypair');
onmessage = (e) => {
let time = Date.now();
let workerResult = keypair(e.data);
postMessage({
result: workerResult,
time: Date.now() - time
});
}
if (window.Worker) {
let container = document.querySelector('#container');
let myWorker = new Worker("worker.js");
myWorker.onmessage = (e) => {
container.innerHTML = e.data.result + " in " + e.data.time + "ms";
console.log('Message received from worker');
};
myWorker.postMessage({"bits": 2048});
}
else {
console.log('window.Worker Error');
}
throw new Error(...);
бросает исключение - что-то типа сигнализатора ошибки. Когда выбрасывается исключение, исключительную ситуацию нужно как-то обработать.try { // Пробуем (try) исполнить код
move();
// Код, который может выбросить исключение
} catch(e) { // Ловим (catch) исключение, если оно было выброшено, записываем его в e (можно любую переменную, но к e все уже привыкли)
alert("ERROR");
// Выводим ошибку или обрабатываем ее еще как-то
}
catch(e)
можно написать finally
- код, который будет выполнен, и если код выполнился, и если упал с ошибкойtry { // Пробуем (try) исполнить код
move();
// Код, который может выбросить исключение
} catch(e) { // Ловим (catch) исключение, если оно было выброшено, записываем его в e (можно любую переменную, но к e все уже привыкли)
alert("ERROR");
// Выводим ошибку или обрабатываем ее еще как-то
} finally {
alert("It worked (or didn't :) )");
}
throw
, для этого ему передается исключение (или строку, или число, или другой объект, но лучше иключение). Потом брошенное исключение можно поймать с помощью try
.catch
, тогда оно перейдет к следующему catch
- это называется проброс исключений. Например:function doThat() {
try {
a();
} catch(e) {
if(e instanceof TypeError) { // Если выброшено исключение TypeError, то
alert("TypeError!"); // написать TypeError!
} else { // Иначе
throw e; // doThat() не знает, как обрабатывать другие типы исключений, передаем дальше
}
}
}
// ...
try {
doThat(); // Если a() выбросит TypeError, catch в doThat() его обработает
} catch(e) { // doThat() пробросил исключение дальше
alert("Some other error!");
}
move();
if (!y || !x || !z) {
throw new Error("не хватает данных");
}
if (!x || !y) {
throw new Error("не хватает входных данных");
}
move();
if (!z) {
throw new Error("не хватает выходных данных");
}
move()
, если мы не уверены, что данных хватает - так мы проверяем, что входные и выходные данные правильные. var done = false;
var result = "";
obj.ondone = function(e) { // здесь любое событие
done = true;
result = e.result;
// хотим отловить этот момент
};
var
, то только так:var func = function(callback) {
obj.ondone = function(e) {
callback(e.result);
};
};
func(function(result) {
alert(result);
});
_done = false;
_result = "";
function func() {
obj.ondone = function(e) {
_done = true;
_result = e.result;
};
}
setTimeout(function f() {
if(_done) {
// готово
} else {
setTimeout(f, 500); // каждые 0.5 с
}
}, 500); // каждые 0.5 с
func();
change
-> input
caniuse.com/#feat=input-eventfunctio
-> function
$.jsonParse
Пфф... джиквери_головного_мозга какой-то.{"2": "cvxcsv", "7": "dfsdsf"}
:var str = "{\"2\": \"cvxcsv\", \"7\": \"dfsdsf\"}";
var obj = JSON.parse(str);
console.log(obj); // {"2": "cvxcsv", "7": "dfsdsf"};
var str2 = JSON.stringify(obj);
console.log(str2); // "{"2": "cvxcsv", "7": "dfsdsf"}"