自己敲的。
1 <script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js" type="text/javascript"></script>
2
3 <script type="text/javascript" language="javascript" charset="utf-8">
4 var a = new Number(5);
5 var b = a;
6 a = 6;
7 console.info(b);//输出一个number对象
8 console.info(b.toString());//值为5
9 var c = 5;
10 console.info(c);//直接打印5,那么这个是基本数据类型。
11 console.info(a == b);//false
12 console.info(a === b);//false
13 a = 5;
14 console.info(a == b);//true,值相等,但确切说,不是同一个对象
15 console.info(a === b);//false
16 a = 5;
17 b = a;
18 console.info(a == b);//true 现在是同一对象了
19 console.info(a === b);//true
20
21
22
23 function Man(){
24 this.love = "爱";
25 }
26 Man.prototype = {
27 __proto__:new Man(),//不加这句的话,就不会有名字。Man对象的原型名就叫Man,但意思又是继承了Man,把Man中的属性弄成了,反正不要这样。
28 "name":"小王",
29 "age":23,
30 sex:"男"
31 }
32 var m = new Man();//打印的对象
33 //m.prototype.name = "小李";//m,实例无法更改原型属性
34 Man.prototype.name = "小李";
35 var m2 = m;
36 m2.love="不爱";
37 console.info(m);
38 console.info(m.love);//不爱,指向同一个对象。
39 console.info(m == m2);//true
40 console.info(m === m2);//true
41
42 function People(name,age,sex){
43 this.name = name;
44 this.age = age;
45 this.sex = sex;
46 }
47
48 var p = new People("小王",23,"男");
49 var p1 = new People("小王1",23,"男");
50 var p2 = p;
51 console.info(p);//"小王",23,"男"
52 console.info(p1);//"小王1",23,"男"
53 console.info(p == p1);//false
54 console.info(p === 1);//false
55 console.info(p == p2);//true
56 console.info(p === p2);//true
57
58 var Animal = Class.create();
59 Animal.prototype = {
60 constructor : Animal, //注意这句将修复constructor属性
61 initialize : function(name) {
62 this.name = name;
63 },
64 getName : function() {
65 return this.name;
66 },
67 setName : function(name) {
68 this.name = name;
69 }
70 }
71 var a = new Animal("小狗");
72 console.info(a);
73
74
75
76
77 /**
78 * $class //这是一个摘抄的,源地址在底部
79 * @param {String} className
80 * @param {Function} superClass
81 * @param {Function} classImp
82 */
83 function $class(className, superClass, classImp){
84 if(superClass === "") superClass = Object;
85
86 function clazz(){
87 if(typeof this.init == "function"){
88 this.init.apply(this, arguments);
89 }
90 }
91
92 var p = clazz.prototype = new superClass();
93 var _super = superClass.prototype;
94 window[className] = clazz;
95 classImp.apply(p, [_super]);
96 }
97
98 $class('Zhiwu', '', function(){
99 // 构造函数
100 this.init = function(name){
101 this.name = name;
102 };
103 // 方法体
104 this.getName = function(){
105 return this.name;
106 };
107 this.setName = function(name){
108 this.name = name;
109 };
110 });
111
112 var p = new Zhiwu('Jack');
113 console.log(p);
114 console.log(p.constructor == Zhiwu);
115
116 </script>
擦,地址忘了。叉了就忘了。