js 模拟面向对象的方式
2017-02-21 15:24
190 查看
首先简单了解一下
面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1]
发展到一定阶段后的产物。
面向对象是在结构化设计方法出现很多问题的情况下应运而生的。结构化设计方法求解问题的基本策略是从功能的角度审视问题域。它将应用程序看成实现某些特定任务的功能模块,其中子过程是实现某项具体操作的底层功能模块。在每个功能模块中,用数据结构描述待处理数据的组织形式,用算法描述具体的操作过程。面对日趋复杂的应用系统,这种开发思路在下面几个方面逐渐暴露了一些弱点。
面向对象的语言有一个标志,那就是他们都有类的概念,通过类可以创建任意多个具有相同属性和方法的对象。但是在ECMAScript中有类 的概念,但是我们可以通过其他方式来模拟面向对象的类。
工厂模式:工厂模式是软件工厂领域中一种广为人知的设计模式。
稳妥构造函数模式
寄生构造函数模式
动态原型模式。
构造函数模式:比如想ECMAScript中Array,Object,Date等都是通过构造函数来创建的。
面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1]
发展到一定阶段后的产物。
面向对象是在结构化设计方法出现很多问题的情况下应运而生的。结构化设计方法求解问题的基本策略是从功能的角度审视问题域。它将应用程序看成实现某些特定任务的功能模块,其中子过程是实现某项具体操作的底层功能模块。在每个功能模块中,用数据结构描述待处理数据的组织形式,用算法描述具体的操作过程。面对日趋复杂的应用系统,这种开发思路在下面几个方面逐渐暴露了一些弱点。
面向对象的语言有一个标志,那就是他们都有类的概念,通过类可以创建任意多个具有相同属性和方法的对象。但是在ECMAScript中有类 的概念,但是我们可以通过其他方式来模拟面向对象的类。
工厂模式:工厂模式是软件工厂领域中一种广为人知的设计模式。
稳妥构造函数模式
寄生构造函数模式
动态原型模式。
构造函数模式:比如想ECMAScript中Array,Object,Date等都是通过构造函数来创建的。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" charset="utf-8"> // var obj=new Object();//or var obj=(); // obj.name="love"; // obj.sax='男'; // obj.sayName=function(){alert("啦啦啦!")}; //类的概念 //第一种形式 工厂模型 // function createPerson(name,sex,age){ // var obj =new Object(); // obj.name=name; // obj.sex=sex; // obj.age=age; // return obj; // } // var love=createPerson('lala','男',20); // var like=createPerson('你大爷','女',21); // alert(love.name+"\t:\t"+like.name+"\n"+love.sex+"\t:\t"+like.sex+"\n"+love.age+"\t:\t"+like.age); //第二种形式 构造函数 new Array new Date //函数的第一个字母大写(类的模板) function Person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; this.sayName=function(){ alert(this.name+"\t:\t"+this.age+"\t:\t"+this.sex); } } //构造一个对象 new 关键字 传递参数 执行模板代码 返回对象 var love=new Person('A',20,'男'); var like=new Person('a',21,'女'); // love.sayName(); // alert(like==love); //false 类的概念:根据模板创建出不同的实例对象 // alert(love instanceof Person); //true // alert(love instanceof Object);//true //创建对象的方式: //当做构造甘薯去使用 //var love=new Person('A',20,'男'); //作为普通函数去调用 //Person('A',20,'男');//在全局环境里定义属性并复制 直接定义在window上 var o =new Object(); //call applly Person.call(o,'asd',17,'女'); alert(o.name); </script> </head> <body> This is my JSP page. <br> </body> </html>
相关文章推荐
- 用面向对象的方式写一些js(模拟java bean拼装报文转为json)好不好用不知道。
- 面向对象的JS-私有成员变量实现方式
- 利用面向对象的方式来使用JS
- js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
- js 模拟ajax方式提交数据
- 使用面向对象的方式模拟TOM使用ATM进行存取款的操作
- 面向对象的js编程方式
- js中面向对象(创建对象的几种方式)
- 数据抓取中post与get方式的处理深入理解(不用给网页标签赋值也不用模拟提交js)
- 对象(类)的封装方式(面向对象的js基本知识)
- js 面向对象的几种方式
- JS模拟面向对象全解(一、类型及传递)
- JS模拟面向对象全解(六、扩展方法)
- JS模拟面向对象全解(五、继承)
- JS面向对象的几种创建方式:工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- js模拟面向对象【也有特别的地方】
- JS模拟面向对象全解(四、构造对象)
- JS模拟面向对象全解(一、类型及传递)
- JS中class的实现方式,另模拟dojo.declare
- JS面向对象二:js对象的几种创建方式