码迷,mamicode.com
首页 > 其他好文 > 详细

进阶笔记--对象

时间:2016-07-11 14:11:44      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

Functionde 对象的实例可以创建构造函数  

1 var Myfunc = new Function();   //创建一个Function的实例
2 
3 var  myfun = new Myfunc(); //创建一个Myfunc实例

但是Object对象就不能,当完成一个object对象的实例化后,不能再基于新实例使用new 创建一个实例

1 var Myobj = new Object();  //实例化一个Object对象
2 
3 var newobj = new Myobj();  //将出错

 添加公有方法

要在构造函数的新实例中添加公有方法,使用点号想它的原型属性添加即可。

 1 //创建一个构造函数
 2 function Myfunc(){
 3     //.....
 4 }
 5 //为构造函数添加一个公有方法 newway
 6 Myfunc.prototype.newway = function (){
 7     //.....
 8 }
 9 //该方法可以在Myfunc的实例上调用
10 var myway = new Myfunc();
11 myway.newway();   //可以运行

但是不能直接在 Myfunc 上运用 

如:Myfunc.newway();     //将出错,因为Myfunc是Function的实例

添加私有成员:只需在构造函数中用普通的var和function关键字定义;

1 function Myfunc(){
2     //定义私有属性
3     var my = ‘luo‘;
4     //定义私有方法
5     function inside(){
6        //..... 
7   }
8 };

但是在构造函数内定义的私有成员,不能被实例调用,

var myfunc1 = new Myfunc();

myfunc1.inside();//将出错

只限制在构造函数的作用域内,所以也不能通过对象自己的公有方法来访问他们;所以需要定义一个特权方法  (在构造函数中使用 this 定义的方法)  

1 function special(){
2     var me = ‘luo‘;
3     function meway(){
4     //....
5     };
6     this.alertway = functioon(){
7     alert(me);
8    };
9 }
//正常弹出 luo

(看书 -- JavaScript DOM高级程序设计  做的笔记复制了上来,如果有什么不对请指出。。。)

进阶笔记--对象

标签:

原文地址:http://www.cnblogs.com/lg00001/p/5659919.html

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