zoukankan      html  css  js  c++  java
  • 第3章 对象基础

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>定义类和对象</title>
    </head>
    <body>
        1.工厂方式:<br />
        <script type="text/javascript">
            //定义
            function createCar(color, doors, mpg) {
                var oCar = new Object();
                oCar.color = color;
                oCar.doors = doors;
                oCar.mpg = mpg;
                oCar.showColor = function () { alert("1.工厂方式:" + this.color); };
                return oCar;
            }
            //调用
            var car = createCar("red", 4, 23);
            car.showColor();
        </script>
     
        2.构造函数方式:<br />
        <script type="text/javascript">
            //定义
            function Car(color, doors, mpg) {
                this.color = color;
                this.doors = doors;
                this.mpg = mpg;
                this.showColor = function () { alert("2.构造函数方式:" + this.color); };
            }
            //调用
            var car2 = new Car("blue", 4, 23);
            car2.showColor();
        </script>
     
        3.原型方式:<br />
        <script type="text/javascript">
            //定义
            function pCar() { }
            pCar.prototype.color = "green";
            pCar.prototype.doors = 4;
            pCar.prototype.mpg = 23;
            pCar.prototype.showColor = function () { alert("3.原型方式测试:" + this.color); };
            //调用
            var car3 = new pCar();
            alert(car3 instanceof pCar); //允许用instanceof运算符检查给定变量指向的对象的类型。
            car3.showColor();
        </script>
     
        4.混合构造函数/原型方式:<br />
        <script type="text/javascript">
            //定义
            //构造函数定义属性
            function sCar(color, doors, mpg) {
                this.color = color;
                this.doors = doors;
                this.mpg = mpg;
            }
            //原型方式定义函数
            sCar.prototype.showColor = function () { alert("4.混合构造函数/原型方式测试:" + this.color); };
            //调用
            var car4 = new sCar("yellow", 4, 23);
            car4.showColor();
        </script>
     
        5.动态原型方式:<br />
        <script type="text/javascript">
            //定义
            function dCar(color, doors, mpg) {
                this.color = color;
                this.doors = doors;
                this.mpg = mpg;
                //将对象的方法放到对象内部,更符合面向对象思想
                if (typeof dCar._initialized == "undefined") {
                    dCar.prototype.showColor = function () { alert("5.动态原型方式测试:" + this.color); };
                    dCar._initialized = true;
                }
            }
            //调用
            var car5 = new dCar("black", 4, 23);
            car5.showColor();
        </script>
    </body>
    </html>
  • 相关阅读:
    轻重搭配
    EF的优缺点
    使用bootstrap-select有时显示“Nothing selected”
    IIS发布 HTTP 错误 500.21
    js添加的元素无法触发click事件
    sql server查看表是否死锁
    sql server把一个库表的某个字段更新到另一张表的相同字段
    SQLSERVER排查CPU占用高的情况
    SQL server中如何按照某一字段中的分割符将记录拆成多条
    LINQ to Entities does not recognize the method 'System.DateTime AddDays(Double)' method, and this method cannot be translated into a store expression.
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/3059779.html
Copyright © 2011-2022 走看看