javascript面向对象与封装
2011-11-08 22:32
288 查看
//声明一个javascript对象:
var a = {};
//声明一个函数对象:
var a = function(){}
//声明静态对象
var a = {
name : "静态对象",
getName : function(){
return this.name;
}
};
alert(a.getName());//外部调用
//函数对象的封装与继承
function A(name){
var id = 'id';//私有属性,不可继承,外部无法调用
this.name = name;
this.getName = function(){
return this.name;
}
//在公有方法中给属性赋值,有时会出现在函数内部值是有的,但是出了这个
//函数以后值就没有了,这种情况需要这么处理:
this.setName = function(name){
var obj = this;
obj.name = name;
}
}
//如何继承
function B(name){
this.base = B;//声明继承
this.base(name);//继承构造函数
//重写方法
this.getName = function(){
//因为是继承关系,所以可以将父类的属性当做本身的属性来用
//如果想调用父类的方法,可以使用base:this.base.getName();
return this.name+"__子类";
}
//子类自己的方法
this.alertName = function(){
alert(this.name);
}
}
B.prototype = A;
var a = new A('父类');
//只能调用属性和自身的方法
alert(a.name);//父类
alert(a.getName());//父类
var b = new B("子类");
//可以调用父类的属性、方法和自身的方法
alert(b.name);//子类
alert(b.getName);//子类__子类
b.alertName()//子类
//jquery声明组件
(function($){
$.fn.panel = function(settings){
var opts = $.extend({}, $.fn.panel.defaults, settings);
}
$.fn.panel.defaults = {
title : '',
width : 200,
height : 200
}
})(jQuery);
$('#id').panel({//外部调用组件
title : '测试面板'
});
var a = {};
//声明一个函数对象:
var a = function(){}
//声明静态对象
var a = {
name : "静态对象",
getName : function(){
return this.name;
}
};
alert(a.getName());//外部调用
//函数对象的封装与继承
function A(name){
var id = 'id';//私有属性,不可继承,外部无法调用
this.name = name;
this.getName = function(){
return this.name;
}
//在公有方法中给属性赋值,有时会出现在函数内部值是有的,但是出了这个
//函数以后值就没有了,这种情况需要这么处理:
this.setName = function(name){
var obj = this;
obj.name = name;
}
}
//如何继承
function B(name){
this.base = B;//声明继承
this.base(name);//继承构造函数
//重写方法
this.getName = function(){
//因为是继承关系,所以可以将父类的属性当做本身的属性来用
//如果想调用父类的方法,可以使用base:this.base.getName();
return this.name+"__子类";
}
//子类自己的方法
this.alertName = function(){
alert(this.name);
}
}
B.prototype = A;
var a = new A('父类');
//只能调用属性和自身的方法
alert(a.name);//父类
alert(a.getName());//父类
var b = new B("子类");
//可以调用父类的属性、方法和自身的方法
alert(b.name);//子类
alert(b.getName);//子类__子类
b.alertName()//子类
//jquery声明组件
(function($){
$.fn.panel = function(settings){
var opts = $.extend({}, $.fn.panel.defaults, settings);
}
$.fn.panel.defaults = {
title : '',
width : 200,
height : 200
}
})(jQuery);
$('#id').panel({//外部调用组件
title : '测试面板'
});
相关文章推荐
- JavaScript面向对象初探——原型链、封装和继承
- javascript 面向对象封装与继承
- 韩顺平 javascript教学视频_学习笔记19_js面向对象三大特征(封装,继承,多态)
- Javascript 面向对象之封装
- JavaScript中面向对象——类的封装(一)
- Javascript之面向对象--封装
- 【初窥javascript奥秘之面向对象】封装与继承
- javascript封装简单电子钟表组件(面向对象)
- JavaScript面向对象——封装及相关原理解析
- 面向对象的Javascript之三(封装和信息隐藏)
- Javascript之面向对象--封装
- 用面向对象的方式封装javascript代码
- JavaScript 面向对象(封装、继承、多态)多种方式实现完全总结
- JavaScript 定义类的最佳写法——完整支持面向对象(封装、继承、多态),兼容所有浏览器,支持用JSDuck生成文档
- 面向对象的javascript系列文章(2)封装——信息隐藏
- javascript面向对象--封装特性
- javascript 面向对象封装与继承
- JavaScript面向对象之-----封装
- Javascript基础知识篇(3): 面向对象之封装和信息隐藏
- html5学习笔记---05.JavaScript 中的面向对象,继承和封装