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

javascript工厂模式和构造方法

时间:2016-12-04 00:54:39      阅读:196      评论: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>
        //工厂模型
        function CreatePerson(id,name,age){
            var obj={};
            obj.id=id;
            obj.name=name;
            obj.age=age;
            obj.sayName=function(){
                return this.name;
            }
            return obj;
        } 
        var p1=CreatePerson(1,‘zhangsan‘,23);
        //alert(p1.id);
        //alert(p1.sayName());
        
        
        
        //第二种方式:构造函数式,函数的第一个字母大写(类的模板)
        
        function Person(id,name,age){
            this.id=id;
            this.name=name;
            this.age=age;
            this.sayName=function(){
                return this.name;
            }
        }
        //构造一个对象,new关键字,传递参数,执行模板代码,返回对象
        var p2=new Person(1,‘王五‘,45);
        var p3=new Person(2,‘赵六‘,23); 
        //alert(p2.sayName());
        //alert(p2===p3);         //类的概念,根据模板创建出不同的对象
        alert(p2.constructor==Person);        //true
        alert(p3.constructor==Person);        //true
        alert(p2 instanceof Person);         //true
        alert(p2 instanceof Object);         //true
        
        //创建对象的方式
        //1.当做构造函数去使用
        //var p2=new Person(1,‘王五‘,45);
        //2.普通方法的函数调用
        Person(2,‘zhangsan‘,34);       //在全局环境定义属性并复制,直接定义window对象上
        //在一个对象的作用域中调用
        var o=new Object();
        Person.call(o,2,‘zhangsan‘,34);        //把Person方法绑定到o对象上
        alert(o.name);
    </script>
  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
</html>


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

javascript工厂模式和构造方法

标签:javascript工厂模式和构造方法

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

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