Js简介3——各种方法的解析
2011-06-13 19:18
423 查看
1. 构造方法的创建
function myConstructor(a){
//某些代码
}
function对象的特别之处在于,它的实例也能作为构造方法,因此可以用来创建函数的实例。如var myObject=new myConstuctor();
注意:function myConstructor(message){
Alert(message);
this.myMessage=message;
}
Var myObj=new myConstructor(“Instantiating”);
(其中myMessage属性只在被实例化的myConstructor的实例中可用,而在myConstructor函数自身中是无效的)
2. 静态方法
var myObject=new Object();
//添加个属性
myObject.name=”jh”;
//添加个方法
myObject.alertName=function(){
alert(this.name);
}
//执行添加的方法
myObject.alertName();
上述代码也可以写成:
Var myConstructor=function(){}
myConstructor.name=’jg’;
myConstructor.alertName=function(){
alert(this.name);
}
myConstructor.alertName();
说明:静态属性与方法只存在于此处定义的一个具体的实例中。这里即是myConstructor。Name和alertName成员不能应用于新的实例中
3. 公有成员(能够使实例化的对象包含的方法叫公有方法)
添加公有方法实例:
Function myConstructor(message){
Alert(message);
this .myMessage=message;
}
//添加公有方法
myConstructor.prototype.clearMessage=function(string){
this.myMessage+=’ ‘+string;
}
说明:这样操作后将会把新方法添加到myConstructor的底层定义中,而不是添加到myConstructor实例自身。
Var myObject=new myConstructor(‘hello world’);
myObject.clearMessage();
但是不能直接在myConstructor(即定义公有方法的类上直接调用公有方法)上调用公有方法。
4. 私有成员:(就是在构造函数中定义的变量和函数)
举例:function myConstructor(message){
this .myMessage=message;
var myOwner=this;//私有属性
var separator=’_’; //私有属性
function alertMessage(){
//私有方法
alert(myOwner.message);
}
alertMessage(); //实例话时显示信息
}
5. 特权成员(能够被公开访问,而且还能访问私有成员。特权方法指在构造函数的作用域中使用this定义的方法)
例:function myConstructor(message){
this .myMessage=message;
var separator=’_’;
var myOwner=this;
//特权方法
this .appendToMessage=function(string){
this .myMessage+=separator+string;
alertMessage();
}
}
(注意特权方法appendToMessage方法可以访问myConstructor的私有成员separator)
使用
var myObj=new myConstructor(‘hello world’);
myObj.appendToMessage(‘aaa’);
各种方法总结:
私有和特权成员在函数的内部,他们会被带到函数的每个实例中,因而将占用大量的内存。
公有的原型成员是对象蓝图的一部分,适用于通过new实例话的该对象的每一个实例。但不包括此对象本身
静态成员只适用于对象的一个特殊实例
function myConstructor(a){
//某些代码
}
function对象的特别之处在于,它的实例也能作为构造方法,因此可以用来创建函数的实例。如var myObject=new myConstuctor();
注意:function myConstructor(message){
Alert(message);
this.myMessage=message;
}
Var myObj=new myConstructor(“Instantiating”);
(其中myMessage属性只在被实例化的myConstructor的实例中可用,而在myConstructor函数自身中是无效的)
2. 静态方法
var myObject=new Object();
//添加个属性
myObject.name=”jh”;
//添加个方法
myObject.alertName=function(){
alert(this.name);
}
//执行添加的方法
myObject.alertName();
上述代码也可以写成:
Var myConstructor=function(){}
myConstructor.name=’jg’;
myConstructor.alertName=function(){
alert(this.name);
}
myConstructor.alertName();
说明:静态属性与方法只存在于此处定义的一个具体的实例中。这里即是myConstructor。Name和alertName成员不能应用于新的实例中
3. 公有成员(能够使实例化的对象包含的方法叫公有方法)
添加公有方法实例:
Function myConstructor(message){
Alert(message);
this .myMessage=message;
}
//添加公有方法
myConstructor.prototype.clearMessage=function(string){
this.myMessage+=’ ‘+string;
}
说明:这样操作后将会把新方法添加到myConstructor的底层定义中,而不是添加到myConstructor实例自身。
Var myObject=new myConstructor(‘hello world’);
myObject.clearMessage();
但是不能直接在myConstructor(即定义公有方法的类上直接调用公有方法)上调用公有方法。
4. 私有成员:(就是在构造函数中定义的变量和函数)
举例:function myConstructor(message){
this .myMessage=message;
var myOwner=this;//私有属性
var separator=’_’; //私有属性
function alertMessage(){
//私有方法
alert(myOwner.message);
}
alertMessage(); //实例话时显示信息
}
5. 特权成员(能够被公开访问,而且还能访问私有成员。特权方法指在构造函数的作用域中使用this定义的方法)
例:function myConstructor(message){
this .myMessage=message;
var separator=’_’;
var myOwner=this;
//特权方法
this .appendToMessage=function(string){
this .myMessage+=separator+string;
alertMessage();
}
}
(注意特权方法appendToMessage方法可以访问myConstructor的私有成员separator)
使用
var myObj=new myConstructor(‘hello world’);
myObj.appendToMessage(‘aaa’);
各种方法总结:
私有和特权成员在函数的内部,他们会被带到函数的每个实例中,因而将占用大量的内存。
公有的原型成员是对象蓝图的一部分,适用于通过new实例话的该对象的每一个实例。但不包括此对象本身
静态成员只适用于对象的一个特殊实例
相关文章推荐
- 解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
- 解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
- js/jquery解析json和数组格式的方法介绍
- 一个不错的解析URL地址的JS方法,推荐一下
- js 解析json字符串的方法
- js打开新窗口的各种方法
- js 判断各种数据类型的简单方法
- js 将json字符串转换为json对象的方法解析
- JavaScript 全面解析各种浏览器网页中的JS 执行
- js打开新页面的各种方法
- 数据结构中的各种排序方法-JS实现
- JS_弹出窗口的各种传值方法
- js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
- NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法
- JS解析DataSet.GetXML()方法产生的xml
- XMLHttpRequest Ajax 实例简介 (用此方法可实现JS与SQL连接)
- JS解析json数据并将json字符串转化为数组的实现方法
- 结合JQ1.9通过js正则判断各种浏览器版本的方法
- js解析Json字符串的方法
- JAVA 判断null,''/ js判断null,'',undefined各种情况的判断方法