javascript面向对象--属性和方法

javascript中的属性和方法归归类,大概有这么四种类型,

(1) 私有类型:相当于java或者C#中的private类型,不可以直接访问,需要通过 getter,setter。

(2) 动态公共类型:每个对象共享一个副本,外部可以访问

(3) 静态公共类型:通过原型延伸出来的属性

(4) 类属性:作为类型的属性,直接通过类名可以访问的。

举例来说:

 

 1   function widget() {
2 var width="100px"; //私有属性
3 this.Name = "widget"; //动态公共属性
4 var Show = function () { //私有方法
5 alert(width);
6 }
7 this.Hide = function () {//动态的公共方法
8 alert("hide");
9 }
10 this.GetWidth = function(){return width;}
11 }
12 widget.minPrice = 0;
13 widget.prototype = {
14 minWidth:"100px",
15 minHeight:"100px"
16 };
17 var w = new widget();
18 alert(w.width); //显示结果:undefined
19 alert(w.GetWidth());//getter,显示:100px
20 alert(w.Name);//公共属性,显示:widget
21 alert(w.minPrice);//
22 alert(widget.minPrice);静态属性,无法通过对象访问,显示结果:undefined
23 var wex = new widget();
24 alert(w.minHeight);//原型属性,对象访问
25 alert(wex.minHeight);

原型属性需要补充呢。。

OK,公有,私有,都有了,那么javascript里如何实现封装?你懂的。。。
回顾一下扩展jQuery的时候,有两个重要的方法:

1 jQuery.fn.extend(object);  
2 jQuery.extend(object);

这两个方法有何区别,很简单哦,第一行是扩展jQuery对象的属性,第二行是扩展jQuery类本身的属性。看看它的源码就知道了:

1 jQuery.fn = jQuery.prototype = {      
2    init: function( selector, context ) {//…. 
3
4    //……
5
6 };

jQuery.fn = jQuery.prototype

你懂的。

转载于:https://www.cnblogs.com/xinchuang/archive/2011/12/20/2295250.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值