Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не пойму в чем ошибка (https://javascript.ru/forum/misc/42970-ne-pojjmu-v-chem-oshibka.html)

Apelcun77 16.11.2013 17:03

Не пойму в чем ошибка
 
Вот код:
var str = new String("Styles"); 
document.write(str);
var x = prompt("Bold or Italic");
x = x.toString();
document.write(" = " + x + "<br>");
str.prototype.newfunc = func; 
document.write(str.newfunc());
function func() {
if (x == "bold") {
document.write("<text style='font-weight:bold';>" + str + "</text>");
}
if (x == "italic") {
document.write("<text style='font-style: italic;>" + str + "</text>");
}
}

Не пойму почему не работает, хочу сделать так чтобы когда вводиш в промпт значение bold то и строка выводилась в стиле style='font-weight:bold' и с italic аналогично. Не работает сравнение как мне сравнивать?

ixth 16.11.2013 18:51

Чувак, ты прописываешь не в прототип объекта, а просто в свойство с названием "prototype". Не путай. Прописывай метод прямо в строку.

ixth 16.11.2013 19:02

Кстати, у String есть методы bold и italics, так что в конечном итоге твой код будет выглядеть как-то так:

<script>
var str = new String("Styles");
str.newfunc = function () {
    if (x == "bold") {
        return str.bold();
    } else if (x == "italics") {
        return str.italics();
    }
};

var x = prompt("Bold or Italic").toString();
document.write(str + " = " + x + "<br>");
document.write(str.newfunc());
</script>

Apelcun77 16.11.2013 19:32

спасибо


Часовой пояс GMT +3, время: 22:32.