switch (num) {
// никогда не сработает потому что если num>60 то будет сравнивать num c true если мешьше 60 то с false
case num > 60:
console.log("Нет, переменная меньше 60");
break;
// никогда не сработает потому что если num<40 то будет сравнивать num c true если бльше 40 то с false
case num < 40:
console.log("Нет, переменная больше 40");
break;
// никогда не сработает потому что если num=50 то будет сравнивать num c true
case num == 50:
console.log("Да, переменная ровна 50");
break;
}
Нужно в localStorage хранить не только значения, но и ключи
Примерно вот так:0: { id: id, p: текст параграфа },
<p><input class="check" id="check-option-1" name="name" type="checkbox"> <label for="check-option-1"></label> </p> <p class="copy">1</p> <p class="copy-2">1.1</p>
// получаем угол в радианах
var angle = Math.atan2((x1*100/obj.width)-50,(y1*100/obj.height)-50);
// или в градусах
var angle = 180*Math.atan2((x1*100/obj.width)-50,(y1*100/obj.height)-50)/Math.PI;
// угол между осью X и отрезком, заданным координатами (0,0)-(x,y)
var angle = Math.atan2(x,y); // в радианах
var angle = 180*Math.atan2(x,y)/Math.PI; // в градусах
// длинна отрезка (сежду точкми 0,0 и x,y)
var radius = Math.sqrt( Math.pow(x, 2) + Math.pow(y, 2) );
// угол angle задан в радианах
var x = radius*Math.cos(angle);
var y = radius*Math.sin(angle);
// угол между осью X и отрезком, заданным координатами (x1,y1)-(x2,y2), он же направление вектора.
var angle = Math.atan2(x2-x1,y2-y1); // в радианах
var angle = 180*Math.atan2(x2-x1,y2-y1)/Math.PI; // в градусах
// длинна отрезка, заданного координатами (x1,y1)-(x2,y2), он же длина (размер) вектора
var radius = Math.sqrt( Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2) );
// находим декартовы координаты точки конца. угол angle задан в радианах
var x2 = x1+radius*Math.cos(angle);
var y2 = y1+radius*Math.sin(angle);
[{...}, {...}, ... ]
то втарой вариант будет работать неверно. Если в данных будут строки с примерно таким содержимым "} {" или "}{" то оба варианта перестанут работать var res = `${x > 5 && (y == 7.5)}`;
const Splitter = require("split-tools");
var text = "x > 5 && (y == 7.5) || sin(Math.PI*a/360) || true";
const splitter = new Splitter({
matchers: {
function: /\s*([a-z]\w*)\(\s*(.*)\s*\)/g,
bracket: /\(\s*(.*)\s*\)/g,
operator: /\s*(\>|\<|\=\=|\!\=|\&\&|\|\||\+|\-|\*|\/|\%)\s*/g,
variable: /\s*([a-z][\w\.]*)\s*/gi,
sting: /\s*\"(.*?)\"\s*/gi,
boolean: /\s*(true|false)\s*/gi,
value: /\s*(\d[\d\.]*)\s*/gi
}
});
const tree = {
"brackets": ["function", "bracket", "operator", "variable", "sting", "boolean", "value"]
};
function subSplit(id, text) {
console.log("subSplit:", id, "[", text, "]");
if(tree[id] && tree[id].length)
return splitter.process(text, tree[id]);
return text;
}
splitter.addParser("function",(match,name,body)=>{
return {
type: "function",
name: name,
body: subSplit("brackets", body)
};
});
splitter.addParser("bracket",(match,body)=>{
return {
type: "bracket",
body: subSplit("brackets", body)
};
});
splitter.addParser("operator",(match,body)=>{
return {
type: "operator",
body: body
};
});
splitter.addParser("variable",(match,body)=>{
return {
type: "variable",
body: body
};
});
splitter.addParser("string",(match,body)=>{
return {
type: "string",
body: body
};
});
splitter.addParser("boolean",(match,body)=>{
return {
type: "boolean",
body: !!body
};
});
splitter.addParser("value",(match,body)=>{
return {
type: "value",
body: +body
};
});
const list = splitter.process(text, tree.tags);
console.log("\n\nresult:\n",JSON.stringify(list, null, ' '));
[
{ "type": "variable", "body": "x" },
{ "type": "operator", "body": ">" },
{ "type": "value", "body": 5 },
{ "type": "operator", "body": "&&" },
{ "type": "bracket", "body": [
{ "type": "variable", "body": "y" },
{ "type": "operator", "body": "==" },
{ "type": "value", "body": 7.5 }
]
},
{ "type": "operator", "body": "||" },
{ "type": "function", "name": "sin", "body": [
{ "type": "variable", "body": "Math.PI" },
{ "type": "operator", "body": "*" },
{ "type": "variable", "body": "a" },
{ "type": "operator", "body": "/" },
{ "type": "value", "body": 360 }
]
},
{ "type": "operator", "body": "||" },
{ "type": "variable", "body": "true" }
]
var express = require('express');
var app = express();
app.get('/user/:user', function(req, res) {
var user = req.params.user;
// Тут дожны быть проверки
// прав клиента на просмотр
// запрашиваемых данных.
// запросы в бд за данными пользователя,
// и другими необходимыми данными.
// затем для пользователя
// указанного в запросе формируются
// данные для отдачи клиенту
// это могут быть как именно данные,
// например в формате json так и страница
// (частично и полностью)
// затем эти данные отдаются клиенту:
res.send(data);
});
var _Seconds = $('.timer').text(),
var _Clicks = 0; // счетчик кликов
int;
int = setInterval(function() { // запускаем интервал
if (_Seconds - _Clicks > 1) {
_Seconds--; // вычитаем 1
$('.timer').text(_Seconds - _Clicks); // выводим получившееся значение в блок
} else {
clearInterval(int); // очищаем интервал, чтобы он не продолжал работу при _Seconds = 0
$('.div_x').addClass('xxx'); //добавляем класс на элемент 1
$('.div_y').addClass('yyy'); //добавляем класс на элемент 2
}
}, 1000);