Парковка элементов относительно друг друга через точки
Point: 1|2|3|4
topLeft topRight
1___2
| |
|___|
4 3
bottomLeft bottomRight
Edges 1
_____
| |
4 | | 2
|_____|
3
Point format:
[targetPoint, itemPoint]
Docking variants:
[1,3] [2,4]
__ __
item -> |_3|______|4_|
target -> |1 2|
__|4____3|__
|_2| |1_|
[4,2] [3,1]
__
|4_|___ __
__|1 2|1_|
|_3|4____3|
|_2|
__
__ ___|_3|
|_2|1 2|__
|4____3|4_|
|1_|
1_________2
|1_| |_2|
|__ __|
|4_|___|_3|
4 3
10к+ пусков / запусков?
04 04 Start/Stop Count Полное число циклов «запуск-остановка» шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска.
12 0C Device Power Cycle Count Количество полных циклов включения-выключения диска.
типа, антипаттерн...
но это все равно вызов метода в конструкторе, что не приветствуется.
let prices2 = { DVS: 'DVS' }
let props = {}
props[prices2['DVS']] = 5
console.log(props.DVS)
// Вот так делать очень не рекомендуется:
window[prices2['DVS']] = 5 // Браузер
global[prices2['DVS']] = 5 // Нода
console.log(DVS)
bind
кэширует текущее значение своего this
в момент своего вызова, т.е. он привязывает именно функцию, а не объект, в котором находится функция. Иначе нельзя было бы вызывать bind на просто функции по типу foo.bind(abc)
. В мануале, кстати, описано что именно она кэширует - там полный список есть: https://developer.mozilla.org/ru/docs/Web/JavaScri... bind
для понимания механизма:function binder(that) {
let targetFunction = this; // кэш целевой функции
return function() { targetFunction.call(that) } // В возвращаемой функции используем кэш
}
let user = {
name: "Tom",
intro() {
console.log("I am " + this.name);
}
}
user.intro.binder = binder
let f = user.intro.binder(user);
setTimeout(f, 1000);
user.name = "Sid";
user.intro = function() {
console.log("Вообще другая функция. name: " + this.name);
}