第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>
目录
相关文章
|
2月前
|
存储 安全 前端开发
Web渗透-文件上传漏洞-上篇
文件上传漏洞常见于Web应用,因类型限制不严可致恶意文件执行。本文介绍前端检测、MIME类型、黑名单、.htaccess、空格、双写等多种绕过方式,并结合upload-labs靶场演示利用方法,提升安全防护认知。
366 1
Web渗透-文件上传漏洞-上篇
|
算法 定位技术
【逻辑设计】卡诺图 | 布尔方程式 | 最小项与最大项 | 卡诺图无关项 Don‘t cares
【逻辑设计】卡诺图 | 布尔方程式 | 最小项与最大项 | 卡诺图无关项 Don‘t cares
1005 0
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
1626 10
【Docker专栏】Docker日志管理与监控的最佳方法
|
前端开发 JavaScript 编译器
用Babel提效——从入门到业务实战
用Babel提效——从入门到业务实战
|
存储 监控 NoSQL
用Redis延时队列搞定订单超时业务
Redis延时队列利用Sorted Set实现定时任务,适用于订单超时、定时提醒等场景。通过设置消息到期时间戳作为分数,到期后从Sorted Set中获取并处理。Redisson客户端提供便捷实现,如Java示例所示,利用RBlockingDeque和RDelayedQueue管理队列。注意时间精度、资源消耗和锁机制等问题,适用于订单取消、服务延迟激活、定时提醒等业务。【5月更文挑战第1天】
430 0
|
C语言 Perl
西门子S7-200 SMART如何分配符号?如何定义、编辑和选择符号?
西门子S7-200 SMART如何分配符号?如何定义、编辑和选择符号?
西门子S7-200 SMART如何分配符号?如何定义、编辑和选择符号?
|
JavaScript 前端开发 API
|
关系型数据库 PostgreSQL
postgresql 的WAL日志解析工具 pg_waldump
postgresql 的WAL日志解析工具 pg_waldump
1854 0
postgresql 的WAL日志解析工具 pg_waldump
|
SQL 存储 分布式计算
MaxCompute湖仓一体方案最佳实践
希望通过本次演讲,让大家更深入了解MaxCompute湖仓一体方案最佳实践,加深对MaxCompute湖仓一体方案的理解与认识,最终可大幅度增强系统的资源弹性,解决业务高峰期计算资源不足的问题。
1441 0
MaxCompute湖仓一体方案最佳实践
|
存储 自然语言处理 Ubuntu
Elasticsearch 及 IK 中文分词插件安装
Elasticsearch 及 IK 中文分词插件安装 一、安装Java并配置 JAVA_HOME 环境变量 由于Elasticsearch是使用Java构建的,所以首先需要安装 Java 8 或更高版本 才能运行。 所有Elasticsearch节点和客户机上都应该使用相同的JVM版本。 1. 安装Java 根据不同的系统,从 https://www.oracle.com/techne... 下载相应Java版本进行安装。 CentOS安装Java示例