Как лучше изменять значение переменной в Javascript через replace или просто присвоить новое?

CK
На сайте с 26.02.2016
Offline
40
482

Нужно мнение спеца по Javascript. Как будет корректнее или может быстрее заменить по клику значение переменной?

Короче, допустим есть хтмл-код с числом 25: <span id="my_kod">25</span>

По клике на кнопку, я допустим хочу изменить "25" на "___".

Как корректнее прописать?

1) вариант, через replace:

var myKod = document.getElementById("my_kod");

myKod.innerHTML = myKod.innerHTML.replace(/./g,'___');

2) вариант, можно просто присвоить новое значение, типа:

document.getElementById("my_kod").innerHTML = "___";

Второй вариант покороче , но может спецы знают, почему так нельзя?

Gerga
На сайте с 02.08.2015
Offline
89
#1
ChrisKorr:
По клике на кнопку, я допустим хочу изменить "25" на "___".
Как корректнее прописать?

2 вариант.

ChrisKorr:
почему так нельзя?

replace используется, когда из набора символов нужно заменить определенный символ на другой по шаблону. В твоем случае использование replace не имеет смысла.

CK
На сайте с 26.02.2016
Offline
40
#2
Gerga:
2 вариант.


replace используется, когда из набора символов нужно заменить определенный символ на другой по шаблону. В твоем случае использование replace не имеет смысла.

спасибо за ответ. А фраза "не имеет смысла", вы имели ввиду просто не имеет смысла, но можно так делать, или же не имеет смысла, потому, что использование реплейса будет влиять на скорость скрипта или на еще что-то?

Gerga
На сайте с 02.08.2015
Offline
89
#3

ChrisKorr, "=" заменяет все содержание, replace выполняет замену по шаблону. Скорость в работе между присвоить и replace nы не ощутишь. Если тебе нужно 2919 заменить на __ используй =, если 2919 на ____ используй replace.


myKod.innerHTML = myKod.innerHTML.replace(/./g,'_');
SS
На сайте с 15.12.2015
Offline
56
#4

document.getElementById("my_kod").textContent = "___";

так не лучше и корректней разве?

Размещение естественных ссылок на тематических порталах, отзовиках, справочниках (/ru/forum/1013919)
LEOnidUKG
На сайте с 25.11.2006
Online
1554
#5
SERM-service:
document.getElementById("my_kod").textContent = "___";

так не лучше и корректней разве?

Если там нет HTML кода, то одинаково будет. Все используют innerHTML т.к. ВДРУГ захочется туда вставить какой-нибудь html код, потом бегать менять JS код лень.

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий