Size: a a a

JavaScript Noobs — сообщество новичков

2020 June 09

D

Danila in JavaScript Noobs — сообщество новичков
Это понятно?
источник

🌹

🌹 in JavaScript Noobs — сообщество новичков
Danila
прогоняй через decodeURI
Спасибо
источник

D

Danila in JavaScript Noobs — сообщество новичков
Если понятно, то следующий шаг - положить в объект не число и не строку, а функцию.
источник

D

Danila in JavaScript Noobs — сообщество новичков
function createObject(){
   return {
     a:1, b:2, c:3, f: function(){}
   }
}

const a = createObject();

a.a//1
a.b//2
a.c//3
a.f()
источник

D

Danila in JavaScript Noobs — сообщество новичков
Если это понятно, то следующий шаг - отказаться от именованой функции createObject и её потом вызова в пользу IIFE

const a = (function(){

    return {
     a:1, b:2, c:3, f: function(){}
   }

})();

a.a//1
a.b//2
a.c//3
a.f()
источник

D

Danila in JavaScript Noobs — сообщество новичков
Вот и всё
источник

D

Danila in JavaScript Noobs — сообщество новичков
У переменных не бывает методов и полей
источник

D

Danila in JavaScript Noobs — сообщество новичков
Они бывают у объектов
источник

D

Danila in JavaScript Noobs — сообщество новичков
А переменная ссылается на этот объект просто
источник

AS

Andrew Summers in JavaScript Noobs — сообщество новичков
ну так, в целом понятно ;)
источник

ДК

Дмитрий Коноферчук... in JavaScript Noobs — сообщество новичков
а ещё можно так CreateObject.a = 11 ))  и не увидишь эту переменную, но взять сможешь)
источник

AS

Andrew Summers in JavaScript Noobs — сообщество новичков
спасибо за объяснение!
источник

A

Alexander in JavaScript Noobs — сообщество новичков
Всем привет! Скрывая текст с помощью max-height столкнулся с такой проблемой, текст все равно занимает место и получается что внизу идет скролл на всю длину текста, что можно сделать?
источник

М

Максим in JavaScript Noobs — сообщество новичков
Alexander
Всем привет! Скрывая текст с помощью max-height столкнулся с такой проблемой, текст все равно занимает место и получается что внизу идет скролл на всю длину текста, что можно сделать?
overflow hidden?
источник

VH

Vladyslav Hrehul in JavaScript Noobs — сообщество новичков
Alexander
Всем привет! Скрывая текст с помощью max-height столкнулся с такой проблемой, текст все равно занимает место и получается что внизу идет скролл на всю длину текста, что можно сделать?
Вручную обрезать. Тоесть допустим берем лимит в 100 и дальше просто ставим ...
источник

M

Miroslav in JavaScript Noobs — сообщество новичков
Хочу сделать вот так:

class Page {
 constructor() {
   this.elem = document.getElementById('elem');
   this.elem.onclick = this.f;
 }
 f() {
   alert(this.elem.textContent);
 }
}


Но this в функции != this экземпляра класса.

Если метод определить как стрелочный, то все работает:
...
 f = () => {
   alert(this.elem.textContent);
 }
...


Так и надо? Или это решение какое-то не такое и делают обычно по другому?

Большое всем спасибо!)
источник

KS

Konstantin Sedykh in JavaScript Noobs — сообщество новичков
Vladyslav Hrehul
Вручную обрезать. Тоесть допустим берем лимит в 100 и дальше просто ставим ...
кстати да. max-height не лучший выбор.
источник

KS

Konstantin Sedykh in JavaScript Noobs — сообщество новичков
Miroslav
Хочу сделать вот так:

class Page {
 constructor() {
   this.elem = document.getElementById('elem');
   this.elem.onclick = this.f;
 }
 f() {
   alert(this.elem.textContent);
 }
}


Но this в функции != this экземпляра класса.

Если метод определить как стрелочный, то все работает:
...
 f = () => {
   alert(this.elem.textContent);
 }
...


Так и надо? Или это решение какое-то не такое и делают обычно по другому?

Большое всем спасибо!)
стрелочную функцию на онклик вешай или бинди её к классу
источник

A

Alex in JavaScript Noobs — сообщество новичков
Miroslav
Хочу сделать вот так:

class Page {
 constructor() {
   this.elem = document.getElementById('elem');
   this.elem.onclick = this.f;
 }
 f() {
   alert(this.elem.textContent);
 }
}


Но this в функции != this экземпляра класса.

Если метод определить как стрелочный, то все работает:
...
 f = () => {
   alert(this.elem.textContent);
 }
...


Так и надо? Или это решение какое-то не такое и делают обычно по другому?

Большое всем спасибо!)
Биндить надо f
источник

KS

Konstantin Sedykh in JavaScript Noobs — сообщество новичков
...
   this.elem.onclick = this.f.bind(this)
...
источник