js面向对象及函数原型
来源:互联网 发布:大数据数据库设计 编辑:程序博客网 时间:2024/06/06 01:42
面向对象
什么是对象:对象是一个整体,对外提供一些操作。
什么是面向对象:使用对象时,只关注对象提供的功能而不关注其具体实现,比如jQuery
面向对象特点:封装,继承,多态
对象组成
方法----函数:过程、动态属性----变量:状态、静态
var a = new object();
var b=12; //变量:自由
a.name='hkj'; //属性:属于一个对象
function show(){ //函数:自由
alert('a');
}
a.fn = function(){ //方法:属于某个变量
alert('a);
}
a.onclick=function(){***} //事件函数
this:指向当前对象
a.show=function(){
alert(this.name); //this为a
}
工厂模式:
function createPerson(name){var obj=new Object();
obj.name=name; //原料
obj.showName=function(){ //加工
alert('我的名字叫'+this.name);
};
return obj; //出厂
}
var p1 = createPerson('hkj');
p1.showName();
工厂模式缺陷:没有new,每个对象的函数不同,占用资源。
var a = function(){**};
var b = function(){**};
alert(a==b); //a与b不等,每次重新创建一个函数对象
工厂模式改进:
function CreatePerson(name){ //构造函数,首字母大写,用new创建对象this.name=name;
this.showName=function(){
alert('我的名字叫'+this.name);
};
//创建和返回由系统完成
}
var p1 = new CreatePerson('hkj');
var p2 = new CreatePerson('tom');
p1.showName();
p2.showName();
function show(){
alert(this);
}
show(); //window对象
new show(); //系统创建对象并用this指向该对象
工厂模式再改进:
类:不具备实际功能,用来创建对象,相当于模版。对象: 真正具有功能的东西,由类构造出来,相当于成品。
原型(prototype):代表所有对象。
Array.prototype.show=function(){
***;
}
var a1=new Array(2,2,2);
var a2=new Array(1,1,1);
a1.show(); a2.show();
alert(a1==a2); //true都等于Array.prototype.show
function CreatePerson(name){ //构造函数
this.name=name; //添加属性
}
CreatePerson.prototype.showName = function(){ //添加方法
alert(this.name);
}
var p1 = new CreatePerson('hkj');
var p2 = new CreatePerson('tom');
alert(p1.showName==p2.showName); //true
阅读全文
0 0
- js面向对象及函数原型
- js面向对象-原型
- JS 面向对象 原型
- Js中的对象、构造函数、原型、原型链及继承
- Js中的对象、构造函数、原型、原型链及继承
- js面向对象与原型
- js--面向对象--原型链
- JS面向对象之原型
- 【面向JS--面向对象和原型】
- JS高级. 02 面向对象、创建对象、构造函数、自定义构造函数、原型
- JS面向对象-原型对象,实例对象,构造函数的关系
- javascript--面向对象(四)原型对象,构造函数及实例对象的关系图
- JS-函数、对象与原型
- JS中三种主要方法(函数定义)类别理解 —(JS面向对象&原型)
- 面向对象,创建对象,构造函数,原型,原型链
- js面向对象-动态原型方法
- js中的面向对象和原型
- js面向对象-动态原型方法
- 你所不知的七个css单位(高度百分百用vh)
- Tomcat7基于Redis的Session共享实战一
- 利用 FFmpeg 进行简单的音频拼接 降噪 合成
- Python之类的重写和私有变量
- 解决找不到Newtonsoft命名空间的问题
- js面向对象及函数原型
- Windows 下tomcat 启动多个Spring项目
- 预览存储在mongoDB的文件(excel、word、PDF、图片)
- iOS WebViewJavascriptBridge初步尝试与图文详细讲解
- 最小安装下如何打开网络连接
- javaassit
- jquery的$().each,$.each的区别
- Yarn scheduler Capacity调度器概念以及配置
- QT的动态语言切换