JavaScript面向对象

JavaScript中的基本数据类型:
number(数值类型)
string(字符串类型)
boolean(布尔类型)
null(空类型)
undefined(未定义类型)
object

对象是包含相关属性和方法的集合体:1:属性 2:方法

什么是面向对象:
面向对象仅仅是一个概念或者编程思想
通过一种叫做原型的方式来实现面向对象编程

Object对象的创建:
var 对象名称=new Object();
例:var flower=new Object();
flower.name=”长春花”;
flower.genera=”夹竹桃科 长春花属”;
flower.area=”非洲、亚热带、热带以及中国大陆的华东、西南、中南等地”;
flower.uses=”观赏或用药等”;
flower.showName=function(){ alert(this.name); }
flower.showName();
使用字面量赋值方式创建对象:
例:var flower={
name:”长春花”,
genera:”夹竹桃科 长春花属”,
area:”非洲、亚热带、热带以及中国大陆的华东、西南、中南等地”,
uses:”观赏或用药等”,
showName:function(){ alert(this.name); }
}
flower.showName();

常见的内置对象
String(字符串)对象
Date(日期)对象
Array(数组)对象
Boolean(逻辑)对象
Math(算数)对象
RegExp对象

使用(构造函数、原型对象)解决使用同一个接口不需要创建很多对象,可以减少大量重复代码的产生。

调用构函数的4个步骤
创建一个新对象
将构造函数的作用域赋给新对象(this就指向了这个新对象)
执行构造函数中的代码
返回新对象

constructor属性指向Flower:
示例:alert(flower1.constructor==Flower); 返回true!
使用使用instanceof操作符检测对象类型:
alert(flower1 instanceof Object);
alert(flower1 instanceof Flower);

原型对象:
每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象
prototype就是通过调用构造函数而创建的那个对象实例的原型对象

原型链:
一个原型对象是另一个原型对象的实例
相关的原型对象层层递进,就构成了实例与原型的链条,就是原型链

构造函数的特点:
1:构造函数的首字母必须大写,用来区分普通函数
2:内部使用的this对象,来指向即将要生成的实例对象
3:使用New来生成实例对象
构造函数的缺点:
所有的实例对象都可以继承构造函数中的属性和方法。但是,同一个对象实例之间,无法共享属性:
解决思路:
1:所有实例都会通过原型链引用到prototype
2:prototype相当于特定类型所有实例都可以访问到的一个公共容器
3:那么我们就将重复的定西放到公共容器就好了

prototype属性的作用:
js中每个数据类型都是对象,除了null和undefined,而每个对象都是继承自一个圆形对象,只有null除外,它没有自己的圆形对象,最终的Object的圆形为null。

constructor属性是定义在圆形对象上面,以为这也可以被实例对象继承。

constructor属性的作用:
1:分辨圆形对象到底是哪个构造函数
2:从实例新建另一个例
3:由于constructor属性是一种圆形对象和构造函数的关系

这里写图片描述

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值