1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<code><%@ page language=</code><code>"java"</code> <code>import=</code><code>"java.util.*"</code> <code>pageEncoding=</code><code>"UTF-8"</code><code>%></code>
<code><%</code>
<code>String path = request.getContextPath();</code>
<code>String basePath = request.getScheme()+</code><code>"://"</code><code>+request.getServerName()+</code><code>":"</code><code>+request.getServerPort()+path+</code><code>"/"</code><code>;</code>
<code>%></code>
<code><!DOCTYPE HTML PUBLIC </code><code>"-//W3C//DTD HTML 4.01 Transitional//EN"</code><code>></code>
<code><html></code>
<code> </code><code><head></code>
<code> </code><code><base href=</code><code>"<%=basePath%>"</code><code>></code>
<code> </code>
<code> </code><code><title>My JSP </code><code>'test3.jsp'</code> <code>starting page</title></code>
<code> </code><code><meta http-equiv=</code><code>"pragma"</code> <code>content=</code><code>"no-cache"</code><code>></code>
<code> </code><code><meta http-equiv=</code><code>"cache-control"</code> <code>content=</code><code>"no-cache"</code><code>></code>
<code> </code><code><meta http-equiv=</code><code>"expires"</code> <code>content=</code><code>"0"</code><code>> </code>
<code> </code><code><meta http-equiv=</code><code>"keywords"</code> <code>content=</code><code>"keyword1,keyword2,keyword3"</code><code>></code>
<code> </code><code><meta http-equiv=</code><code>"description"</code> <code>content=</code><code>"This is my page"</code><code>></code>
<code> </code><code><!--</code>
<code> </code><code><link rel=</code><code>"stylesheet"</code> <code>type=</code><code>"text/css"</code> <code>href=</code><code>"styles.css"</code><code>></code>
<code> </code><code>--></code>
<code> </code><code><script src=</code><code>"js/jquery-2.1.1.min.js"</code><code>></script></code>
<code> </code><code><script></code>
<code> </code><code>//工厂模型</code>
<code> </code><code>function</code> <code>CreatePerson(id,name,age){</code>
<code> </code><code>var</code> <code>obj={};</code>
<code> </code><code>obj.id=id;</code>
<code> </code><code>obj.name=name;</code>
<code> </code><code>obj.age=age;</code>
<code> </code><code>obj.sayName=</code><code>function</code><code>(){</code>
<code> </code><code>return</code> <code>this</code><code>.name;</code>
<code> </code><code>}</code>
<code> </code><code>return</code> <code>obj;</code>
<code> </code><code>} </code>
<code> </code><code>var</code> <code>p1=CreatePerson(1,</code><code>'zhangsan'</code><code>,23);</code>
<code> </code><code>//alert(p1.id);</code>
<code> </code><code>//alert(p1.sayName());</code>
<code> </code>
<code> </code><code>//第二种方式:构造函数式,函数的第一个字母大写(类的模板)</code>
<code> </code><code>function</code> <code>Person(id,name,age){</code>
<code> </code><code>this</code><code>.id=id;</code>
<code> </code><code>this</code><code>.name=name;</code>
<code> </code><code>this</code><code>.age=age;</code>
<code> </code><code>this</code><code>.sayName=</code><code>function</code><code>(){</code>
<code> </code><code>}</code>
<code> </code><code>//构造一个对象,new关键字,传递参数,执行模板代码,返回对象</code>
<code> </code><code>var</code> <code>p2=</code><code>new</code> <code>Person(1,</code><code>'王五'</code><code>,45);</code>
<code> </code><code>var</code> <code>p3=</code><code>new</code> <code>Person(2,</code><code>'赵六'</code><code>,23); </code>
<code> </code><code>//alert(p2.sayName());</code>
<code> </code><code>//alert(p2===p3); //类的概念,根据模板创建出不同的对象</code>
<code> </code><code>alert(p2.constructor==Person); </code><code>//true</code>
<code> </code><code>alert(p3.constructor==Person); </code><code>//true</code>
<code> </code><code>alert(p2 </code><code>instanceof</code> <code>Person); </code><code>//true</code>
<code> </code><code>alert(p2 </code><code>instanceof</code> <code>Object); </code><code>//true</code>
<code> </code><code>//创建对象的方式</code>
<code> </code><code>//1.当做构造函数去使用</code>
<code> </code><code>//var p2=new Person(1,'王五',45);</code>
<code> </code><code>//2.普通方法的函数调用</code>
<code> </code><code>Person(2,</code><code>'zhangsan'</code><code>,34); </code><code>//在全局环境定义属性并复制,直接定义window对象上</code>
<code> </code><code>//在一个对象的作用域中调用</code>
<code> </code><code>var</code> <code>o=</code><code>new</code> <code>Object();</code>
<code> </code><code>Person.call(o,2,</code><code>'zhangsan'</code><code>,34); </code><code>//把Person方法绑定到o对象上</code>
<code> </code><code>alert(o.name);</code>
<code> </code><code></script></code>
<code> </code><code></head></code>
<code> </code>
<code> </code><code><body></code>
<code> </code><code>This is my JSP page. <br></code>
<code> </code><code></body></code>
<code></html></code>
本文转自 matengbing 51CTO博客,原文链接:http://blog.51cto.com/matengbing/1879238