1 / 11
文档名称:

Js面向(基于)对象编程——知识讲义.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Js面向(基于)对象编程——知识讲义.doc

上传人:书籍1243595614 2015/10/25 文件大小:0 KB

下载得到文件列表

Js面向(基于)对象编程——知识讲义.doc

文档介绍

文档介绍:Js面向(基于)对象编程
一、⊙澄清概念
js中基于对象== js面向对象
js中没有类class,但是它取了一个新的名字叫原型对象,因此,类==原型对象
二、⊙为什么需要对象
问题提出:
/*
张老太养了两只猫:一只名字叫小白,今年3岁,白色,还有一只叫小花,今年10岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入小猫的名字错误时,则显示张老太没有这只猫猫。
*/
//传统方法比较麻烦
cat1_name="小白";
var cat1_age=3;
var cat1_color="白色";
//解决办法,把猫的属性集中,创建一种新的数据类(原型对象/类)
//用面向对象的方法来解决上面的问题
//这里就是一个类cat类
function cat(){

}
//如果这样用
//cat()//函数
var cat1 = new cat()//类
//这时cat1就是一个对象(实例)
="小白";
=3;
="白色";
//从上面的代码我们可以看出
//
//
(+++);
三、⊙类(原型对象)和对象的区别和联系
类是抽象的,概念,代表类事物
对象是具体的,体表一个实体
对象是以类(原型对象)为模板创建起来的实体
四、⊙创建对象的方式有五种
工厂方法—使用new Object创建对象并添加相关属性.
使用构造函数来定义类(原型对象).
使用prototype
构造函数及原型混合方式.
动态原型方式.
目前我们先讲使用构造函数来定义类(原型对象),然后再创建对象实例.
基本语法:
function 类名/原型对象(){
}
创建对象:
var 对象名= new 类名()
现在对对象特别说明:
1. js 中一切都是对象
function Person(){}
();
var a = new Person();
();//a 对象实例的构造函数
(typeof a);//a 的类型是什么
var b=123;
();
(typeof b);
var c="123";
();
(typeof c);
//思考:如何判断一个对象实例是不是Person类型?
if(a instanceof Person){
("a 是 Person1");
}
if(==Person){
("a 是 Person2");
}

五、⊙补充说明(全局变量与局部变量的区别)
//全局变量
var abc=89;
function test(){
//在函数里,如果不带var,则表示使用全局的abc变量
//如果带var,则表示在test()中,定义了一个新的abc变量(局部变量)
abc=900;
}
test();
(abc);
访问对象的属性有两种方法:
普通方式

动态访问
对象名[“属性名”]
function person(){}
var p1= new person();
="阿华";
();//普通方式
(p1["name"]);
var val="na"+"me";
(p1[val]);//动态方式
对象引用问题的说明(图)
js还提供一种方式,主动释放对象内存
delete 、;//这样就会立即释放对象的这个属性的空间
六、⊙ this
◇问题的提出:
function Person(){};
var p1=new Person();
= "老韩";
= 30;
(+" "+);
var p2 = new Person();
();//这里会输出什么呢?(undefine);