码迷,mamicode.com
首页 > 编程语言 > 详细

javascript原型,组合,动态原型,稳妥构造函数式

时间:2016-12-04 23:42:11      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:javascript原型   组合   动态原型   稳妥构造函数式   

<%@ 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 ‘test3.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 src="js/jquery-2.1.1.min.js"></script>
	<script type="application/javascript">
	//原型的概念:原型对象里的所有属性和方法被所有构造函数实例化出来的对象所共享
//	function Person(){
//		
//	}
//	Person.prototype={
//		constructor:Person,
//		name:‘程序员‘,
//		age:21,
//		friends:[‘wangwu‘,‘zhaoliu‘],
//		say:function(){
//			alert(this.friends);
//		}
//	}
	//原型里的属性和方法被所有对象共享
	/*
	var p1=new Person();
	p1.friends.push(‘lisi‘);
	p1.say();                        //wangwu,zhaoliu,lisi
	var p2=new Person();
	p2.say();                        //wangwu,zhaoliu,lisi ,p1添加friends,p2也添加了friends
	*/
	
	//组合模式:一般使用原型和构造函数
	/*
	function Person1(name,age,friends,job){
		this.name=name;
		this.age=age;
		this.friends=friends;
		this.job=this.job;
		
	}
	Person1.prototype={
		constructor:Person1,
		sayName:function(){
			alert(this.name);
		}
	}
	
	
	var p3=new Person1(‘zhangsan‘,21,[‘wangwu‘,‘zhaoliu‘],‘程序员‘);
	var p4=new Person1(‘lisi‘,21,[‘wangwu‘,‘zhaoliu‘],‘程序员‘);
	p3.sayName();
	p4.sayName();
	
	*/
	
	
	
	//动态原型模式(让你的代码封装到一起)
	/*
	function Person2(name,age,friends,job){
		this.name=name;
		this.age=age;
		this.friends=friends;
		this.job=this.job;
		//动态原型方法
		if(typeof this.sayName !=‘function‘){
			//
			Person2.prototype.sayName=function(){          //sayName方法只创建一次
				
				alert(this.name);
			}
		}
		
	}
	var p5=new Person2(‘zhangsan‘,21,[‘wabgwu‘,‘zhaoliu‘],‘chengxuyuan‘);
	p5.sayName();
	
	*/
	
	//稳妥构造函数式   durable object(稳妥对象) 非常安全的环境中
	//1.没有公共属性,
	//其他对象中也不引用this对象,不能使用this关键字
	function Person3(name,age,job){
		var object={};
		//可以定义私有的方法和属性
		var name=name;
		var age=23;
		var job=‘程序员‘;
		object.sayName=function(){
			alert(name);
		}
		return object;
	}
	
	
	var p7=new Person3(‘zhangsan‘,21,‘chenuxyuan‘);
	p7.sayName();
	
	
	
	</script> 
	
  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
</html>


本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1879398

javascript原型,组合,动态原型,稳妥构造函数式

标签:javascript原型   组合   动态原型   稳妥构造函数式   

原文地址:http://matengbing.blog.51cto.com/11395502/1879398

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!