timeout = setTimeout(hovered = false,300);
var MyWebSocket = function(url) {
this.url = url;
this.connection = this.connect(); // 2
Object.defineProperty(this, 'onopen', { // 4
set: function(cb) {
this.connection.then(cb.bind(this)); // 5
}
});
}
MyWebSocket.prototype.connect = function() {
console.log('connecting to %s', this.url);
return new Promise(function(resolve, reject) { // 3
setTimeout(resolve, 2000); // 6
});
}
var socket = new MyWebSocket('example.com:8081'); // 1
socket.onopen = function() {
console.log('connection to %s established', this.url); // 7
}
// Определения функций
function tmp (num) {
var prime = num != 1;
for (var i = 2; i < num; i++) {
if (num % i == 0) {
prime = false;
break;
}
}
console.log('0isPrime');
return prime;
}
tmp.memoized = function(key) {
console.log('memoized');
this._values = this._values || {};
return this._values[key] !== undefined ?
this._values[key] :
this._values[key] = this.apply(null, arguments);
};
tmp.memoize = function() {
console.log('memoize');
var fn = this;
return function() {
return fn.memoized.apply(fn, arguments);
};
};
// Определения переменных
var isPrime, isSeventeenPrime;
// Непосредственно код
console.log('0');
console.log('1');
console.log('2');
isPrime = tmp.memoize(); // console.log('memoize')
console.log('3');
isSeventeenPrime = isPrime(17); // console.log('memoized'), console.log('0isPrime')
console.log(isSeventeenPrime); // console.log(true)
console.log('4');
form.serialize()+'&mas', // здесь мне нужно добавить массив правильно ли я сделал ?Нет, вы сделали неправильно. Всё, что вы сделали - это добавили get-параметр с именем mas без значения. Вам нужно в цикле сконкатенировать корректный get-параметр. Как он должен выглядеть я вам показал в предыдущем вопросе.
form.serialize() + '&foo[]=bar&foo[]=baz&some_more'
var y = this["book" + i];
Стрелочные функции не имеют собственного объекта arguments, поэтому в теле стрелочных функций arguments будет ссылаться на переменную в окружающей области.
В большинстве случаев лучшей заменой объекта arguments в стрелочных функциях являются rest параметры.
var b;
start(343910101)
.then(res => {b = res})
.then(() => console.log(b));
document.querySelector('#id1').querySelector('#id2')
document.querySelector('#id1 #id2')
Вопрос: каким образом это реализовать на JS (п. 4), чтобы активация проходила в режиме реального времени?Самое простое - использовать pusher, который из коробки работает в Laravel и для ваших целей будет, скорее всего, бесплатен. Вариант посложнее и кривее - писать в базу, а на стороне АРМ делать периодические ajax-запросы для проверки. Уровень с боссом - писать демона, который будет слушать какую нибудь ZeroMQ и толкать обновления по веб-сокетам.
Как сделать привязку конкретного компьютера к номеру АРМ (не привязываясь к IP-адресам, MAC-адресам и именам компьютеров)?Опять же, самое простое - сделать отдельную сервисную страницу, на которой будет проставляться номер. И писать его в LocalStorage. Вариант побезопаснее - писать в сессию, но для этого нужно аутентификацию и постоянно её пинать, чтобы не отвалилась.