Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Web-программирование - это просто!


Новое на сайте Программирование - это просто! (www.easyprog.ru):

В платном разделе

В бесплатном разделе

Добрый день, уважаемые подписчики!

Тема сегодняшнего выпуска: «Java Script(JS): Дополнительные приемы работы с объектами. Продолжение.

 

Для углубленного изучения web-программирования (язык PHP и написание своей собственной CMS) советую подписаться на платный раздел (см. анонсы раздела "Пишем Easy CMS").

 

На прошлом уроке мы рассмотрели такие дополнительные возможности объектов, как удаление их свойств и ключевое слово with.

Сегодня рассмотрим некоторые типовые задачи работы с объектами и средства Java Script для решения онных.

И так, перебор всех свойств объекта:

 

<html>

 

<head>

    <title>Урок 82. Java Script (JS): Дополнительные сведения об объектах</title>

</head>

 

<body>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

        function Car(a_color, a_vendor, a_model) {

            this.color=a_color

            this.vendor=a_vendor

            this.model=a_model

            this.get_descr=get_descr

        }

 

        function get_descr() {

            res='Цвет '+this.color+', Марка машины: '+this.vendor+' '+this.model

            return res

        }

       

 

        var myCar=new Car('Maroon','Renault','Logan')

        for (propertyName in myCar) {

            document.write(propertyName+'='+myCar[propertyName]+'<br>')

        }

    </SCRIPT>

</body>

 

</html>

 

И вот результат его роботы:

 

color=Maroon
vendor=Renault
model=Logan
get_descr=function get_descr() { res='Цвет '+this.color+', Марка машины: '+this.vendor+' '+this.model return res }

 

При помощи ключевого слова in можно так же проверить, есть ли у объекта заданное свойство, вот пример такой проверки:

<html>

 

<head>

    <title>Урок 82. Java Script (JS): Дополнительные сведения об объектах</title>

</head>

 

<body>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

        function Car(a_color, a_vendor, a_model) {

            this.color=a_color

            this.vendor=a_vendor

            this.model=a_model

            this.get_descr=get_descr

        }

 

        function get_descr() {

            res='Цвет '+this.color+', Марка машины: '+this.vendor+' '+this.model

            return res

        }

       

        function Truck(a_tonnage, a_vendor, a_model){

            this.tonnage=a_tonnage

            this.vendor=a_vendor

            this.model=a_model

            this.get_descr=get_descr       

            delete this.color

            this.get_descr=get_descr_truck

        }

       

        function get_descr_truck() {

            res='Грузоподъемность '+this.tonnage+', Марка машины: '+this.vendor+' '+this.model

            return res

        }

 

        var myCar=new Car('Maroon','Renault','Logan')

        if ("color" in myCar) {

            document.write("У класса Car есть свойство color"+'<br>')

        } else {

            document.write("У класса Car нету свойства color"+'<br>')

        }

 

        var myCar1=new Truck('Maroon','Renault','Logan')

        if ("color" in myCar1) {

            document.write("У класса Truck есть свойство color"+'<br>')

        } else {

            document.write("У класса Truck нету свойства color"+'<br>')

        }

    </SCRIPT>

</body>

 

</html>

 

И вот результат работы данной программы:

У класса Car есть свойство color
У класса Truck нету свойства color

 

В JavaScript есть так же возможность задать свойства для уже существующих типовых объектов, например, для String. Вот пример использования данной возможности:

<html>

 

<head>

    <title>Урок 82. Java Script (JS): Дополнительные сведения об объектах</title>

</head>

 

<body>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

        function toBold() {

            return "<B>"+this.toString()+"</B>"

        }

 

        String.prototype.toBold=toBold

        var str="Hello, World!"

        document.write(str+"<br>");

        document.write(str.toBold()+"<br>");

    </SCRIPT>

</body>

 

</html>

 

 

И вот что выдаст данная программа:

Hello, World!
Hello, World!

 

С уважением, Шуравин Александр, e-mail: megabax@rambler.ru, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.

 


В избранное