易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript中对象的创建

JavaScript中创建对象的方法如下:
一、创建简单对象:
最简单的创建对象的方法就是用一个新的Object,然后向其中添加内容:
 
现在调用myObject.say(),将弹出’gao’的警告框。
 
var myObject = new Object();
myObject.name = ‘gao’;
myObject.say = function(){
alert(this.name);
}

在JavaScript中,你可以再运行时创建对象,在对象的整个生命周期都可以向它添加属性。
事实上,JavaScript实现只是把所有对象当作关联数组处理,例如,你可以像下面这样调用刚才得对象:
 
var name = myObject[‘name’];
myObject[‘say’]();
  
二、使用JSON创建对象:
上面说过,JavaScript里的对象,只是关联数组,这就是JSON可以正常工作的因素。用JSON创建对象的例子如下:
var myObject = {
name : ‘gao’,
say : function{
alert(this.name);
}
}

使用JSON和定义数组非常相似,除了需要使用花括号而不是方括号。
在jQuery的源码中就大量使用了这种方式。
 
三、使用类的方式定义:
在JavaScript中,所有函数都是对象,而类实际上就是一个函数,这个函数被当做类的构造器来提供服务。类定义的方式,让你创建对象时,不用每次都从头开始。
 
function MyClass(){
this.name = ‘gao’;
this.say = function(){
alert(this.name);
}
}
var myObject = new MyClass();
myObject.say();
  
 
四、原型法:
类定义的方法虽然做到了重用,但是也可能带来了代码的冗余,因为你每次创建对象时,都会拷贝相同的副本,当你不需要这些拷贝的时候,便可以使用原型。
原型的工作方式是,当你构造了一个新的实例时,定义在对象原型上的所有属性和方法,在运行时都会附着在那个新的实例上。
 
function MyClass(){
this.name = ‘gao’;
}
MyClass.prototype.say = function(){
alert(this.name);
}
var myObject = new MyClass();
myObject.say();
  
执行的时候,这份代码会正常工作,与之前不同的是,无论你创建多少个实例,在内存中say()函数只有一份实例。这个方法实际上是附加在每个实例上的,而且this关键字是在运行时计算的。所以两个实例的运行环境是相对独立的:
 
function MyCl


相关文档:

转载 JavaScript基础之对象

JavaScript基础之对象
  JavaScript基础之对象
  从2004年下半年开始学习Web编程至今3年有余。从HTML,asp开始到现在的VS2008一路学过来,其中学的最多的还是服务器端编程,对客户端编程的学习还是不成系统。虽然在很多个系统里面应用过脚本,有些还起到了比较重要的作用。但一直是只知其然不知其所以然,用的是小心 ......

Javascript 在ASP.net 母板页下访问 控件ID:

Javascript 在ASP.net 母板页下访问 控件ID:
对于 html control : 直接访问ID
document.getElementById("hfRespondID");
对于 Web control :
document.getElementById("<%= this.hfRespondID.ClientID %>") [注意大小写
]     
     &nb ......

javaScript keyCode 列表


字母和数字键的键码值(keyCode)
按键
键码
按键
键码
按键
键码
按键
键码
A
65
J
74
S
83
1
49
B
66
K
75
T
84
2
50
C
67
L
76
U
85
3
51
D
68
M
77
V
86
4
52
E
69
N
78
W
87
5
53
F
70
O
79
X
88
6
54
G
71
P
80
Y
89
7
55
H
72
Q
81
Z
90
8 ......

javascript mousewheel的事件分派

这是一个很特殊的事件,w3c默认是承认为“mousewheel”,但我在它上面找到的资料比较少,只发现一个。号称最标准的FF,用一个私有实现DOMMouseScroll。总之实现很混乱。我们先看各浏览器对它的支持程度吧。









IEfirefoxsafari ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号