Простой метод записи Javascript - PullRequest
0 голосов
/ 22 сентября 2011

Хорошо, это может быть глупый вопрос, но я все еще нахожусь на своем пути к изучению oO javascript, как профессионал, поэтому, пожалуйста, не смейтесь, если этот вопрос немного тупой ... хорошо, скажите, у меня очень простой объект, подобный этому

var myObject = {

    write:function(){
        return 'this is a string';

    }
}

Теперь, если добавьте следующее вне моего объекта (обратите внимание, у меня есть соответствующий Div на моей веб-странице):

document.getElementById('myDiv').innerHTML = myObject.write();

innerHTML моего div заполнен строкой 'this is string', однако, если я просто добавлю следующее в свой скрипт (вне объекта): myObject.write()

ничего не возвращается? Может кто-нибудь сказать мне, почему и как я мог написать на страницу (не используя document.write(myObject.write())), чтобы вывести строку на страницу. Если это невозможно, пожалуйста, дайте мне знать, почему ...

извините, если это действительно простой / глупый вопрос, но я учусь.

Вот что поможет ...

<html>
<head>
</head>

<body>

<div id='myDiv'></div>

<script type="text/javascript">

var myObject = {

    write:function(){
        return 'this is a string 2';

    }
}

//document.getElementById('myDiv').innerHTML = myObject.write();
myObject.write();

</script>

</body>
</html>

Ответы [ 2 ]

4 голосов
/ 22 сентября 2011

Вызов myObject.write() возвращает значение.Поскольку вы не перехватываете и не обрабатываете возвращаемое значение, ничего не происходит.

Другой способ записи содержимого в ваш документ:

<body>
<script>document.write(myObject.write())</script>
...</body> <!--document.write ONLY works as desired when the document loads.
       When you call document.write() after the document has finished initiating,
       nothing will happen, or the page unloads-->
0 голосов
/ 22 сентября 2011
var myObject = {
    obj: (function(){ return document.getElementById('myDiv');})(),
         //^^set object to write to
    write:function(str){
        this.obj.innerHTML += str;
        //^^add the string to this object
    }
}

myObject.write('hello there');

Демо: http://jsfiddle.net/maniator/k3Ma5/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...