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

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


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

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

 

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

Web-Программирование: "Java Script(JS): Сильные стороны JS. Продолжение-2".

 

У объектов поля можно удалять. Рассмотрим пример:

<html>

    <head>

        <meta charset="UTF-8">

        <title>Урок 125. Java Script (JS): Прототипы объектов</title>

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

            function test() {

                var test_object={

                    name:"Александр",

                    passport: {

                        ser:123,

                        number:123456

                    },

                    age:41};

               

                if(typeof(Object.create)!=='function')

                {

                    Object.create=function(obj)

                    {

                        var F=function() {};

                        F.prototype=o;

                        return new F;

                    }

                }

               

                var test_object1=Object.create(test_object);

                test_object1.new_prop="sdfdsF"

                document.writeln("<b>Поля до удаления</b><br>");

                for (name in test_object1)

                {

                    document.writeln(name+": "+test_object1[name]+"<br>");

                }

                delete test_object1.new_prop;

                document.writeln("<b>Поля после удаления</b><br>");

                for (name in test_object1)

                {

                    document.writeln(name+": "+test_object1[name]+"<br>");

                }              

            }

        </SCRIPT>

    </head>

    <body>

        <form name="myform" method="GET">

            <input type="submit" value="OK" name="ok" ONCLICK="return test()">

        </form>

    </body>

</html>

 

И вот что вернет программа:

Поля до удаления
new_prop: sdfdsF
name: Александр
passport: [object Object]
age: 41
Поля после удаления
name: Александр
passport: [object Object]
age: 41

 

Поля, наследуемые от прототипа, удалить нельзя. Если вы сделаете так

delete test_object1.name;

 

ошибки не вылезет, но поле не удалиться - программа просто проигнорит эту строку.

 


В избранное