object
есть сценарий
<head> <title>anc</title> <script language='text/javascript'> function card(name,address,work,home){ this.name=name; this.address=address; this.workphone=work; this.homephone=home; } function print(){ stra='name'+this.name+'<br>\n'; strb='addr'+this.address+'<br>\n'; strc='work'+this.workphone+'<br>\n'; strd='home'+this.homephone+'<br>\n'; document.write(stra,strb,strc,strd); } function card(name,address,work,home){ this.name=name; this.address=address; this.workphone=work; this.homephone=home; this.print=print; } fck=new card('fck','street','555','555'); </script> </head> грамотно ли я написал и как правильно вывести функцией print(); на печать содержимое вновь созданных обьектов в теле документа ? p.s. немогу найти общего языка с debugger'ом |
|
я разобрался Андрей - спасибо за ответ, - читать я люблю так ,что помимо того,что у вас тут написано прочитал бегло еще пару пособий поэксперементировал с обьектами,благо опыт небольной уже есть в программировании. . .в основном в js интересует именно обьектная модель, так,что возможно я тут стану частым гостем. . .я вообще то сообразительный ,но голову иногда нужно поворачивать в нужную сторону . . . ;))
p.s. google - power ! )) а кстати народ кому данный вопрос также интересен - ооочень толково все освещено тут . . .- http://wdh.suncloud.ru/js07.htm Код:
<html> "автомобиль: honda, black, 2009, undefined, undefined" дословно означающий чуть ли не, - пошел на х..! решил даже не начинать попытки вывода свойств обьекта mycar циклом for ибо что выводить. я возможно не правильно понял - обьясните , - разве mycar не является массивом свойств? p.s. непривычно как то после php вроде 2-3 дня уже ковыряюсь,а никак к синтаксису не приспособлюсь |
Оператор new создает объект, используя заданный конструктор. Как в PHP мы описываем классы, для создания объектов этих классов, так в JavaScript мы описываем функцию-конструктор, которая создает объект. Вообще, в JavaScript существует несколько способов создать объект, и один из них - оператор new. Об этом подробнее было по ссылкам, что я давал постом выше.
Объект это не массив (даже не ассоциативный массив, если рассматривать по идеологии php), поэтому в нем нет свойства length. Возможно в понимании отличия объектов от массивов вам поможет обсуждение в этой теме. |
Цитата:
дальше разберусь . . . -знаете ,как говорят - "недочитал",а я видимо перечитал - напутал чего то решил,что они и еже с ними все есть массивы ан нет же ! ))) ну да ладно - не страшно все равно добью их ))) а про варианты создания обьекта я понял,как нельзя лучше да и дом маломальски знаю так,что думаю - решение не за горами . . .! ))) p.s. спасибо за заботу !))) |
знаете ,что меня смутило в первую очередь ? вот,что . . .
3.6.5. Оператор for…in Оператор for…in выполняет заданные действия для каждого свойства объекта или для каждого элемента массива. Он имеет вид: for (переменная in выражение) оператор Здесь переменная — это декларация переменной, выражение — любое выражение, значением которого является объект или массив, оператор — любая группа операторов JavaScript; если эти группа содержит более одного оператора, то она должны быть заключена в фигурные скобки {}. Оператор for…in выполняется следующим образом: Переменной присваивается имя очередного свойства объекта или очередного элемента массива (это зависит от того, является значением выражения объект или массив). Выполняется оператор. Управление передается этапу 1. При итерации массива переменной последовательно присваиваются значение первого, второго, ..., последнего элемента массива. Однако, при итерации свойств объекта невозможно предсказать, в каком порядке они будут присваиваться переменной: этот оператор гарантирует только то, что все они будут просмотрены. Следующий сценарий создает новый объект ob, а затем последовательно выводит все его свойства на экран обозревателя: var ob = {"а" : "Архангельск", "б" : "Баку", "в" : "Воронеж"}; for (var key in ob) document.write(key + ": " + ob[key] + "<BR>"); На экране появится текст а: Архангельск б: Баку в: Воронеж а именно - я прозевал вот что "Однако, при итерации свойств объекта невозможно предсказать, в каком порядке они будут присваиваться переменной: этот оператор гарантирует только то, что все они будут просмотрены." обьясните - for...in это эквивалент foreach ?я понял ,что нет ибо не смог вывести им все 3 элемента даже после того ,как прописал все именно так ,как указано в примере - он вывел мне тоько первый. . . |
Ссылка не битая, просто Андрей дал с чуть чуть не парвильную ссылку :) , вот не битая ссылка на ту тему
|
for...in это цикл итерации по свойствам объекта. Это не совсем тоже самое, что foreach (который работает только с массивами), хотя во многих случаях работает так же.
|
Цитата:
по вашей ссылке я так и не зашел . . . - "сервер не найден" да и в общем , - судя по всему,зря я вообще всю эту кашу заварил . . . - все равно разберусь . . . - просто придется чуть больше внимания уделить этому моменту. . .А вот ваша ссылка Zibba работает - спасибо,почитаю,хотя тут больше пожалуй уже нужна практика - теории пока вполне достаточно принцип создания обьектов js я понял - вариант не из самых сложных ,осталось понять принцип рабоы оператора. . .и вопрос решен. Сейчас проснусь окончательно и додумаю. p.s. еще раз спасибо за внимание |
Цитата:
|
Часовой пояс GMT +3, время: 16:44. |