JavaScript对象
1.JavaScript中的基本数据类型
01.number(数值类型)
02.string(字符串类型)
03.boolean(布尔类型)
04.null(空类型)
05.undefined(未定义类型)
06.object(复杂的数据类型,用于实例化复杂于数据和功能集合)
2.对象
字符串、数字、数组、日期。。。。。。。。。。
3.对象是包含相关属性和方法的集合体
如:属性、方法
4.面向对象
01.面向对象仅仅是一个概念或者编程思维
02.通过一种叫做原型的方式来实现面向对象编程
5.创建对象
01.自定义对象
001.基于Object对象的方法创建对象
var 对象名 = new Object();
*通过“.”添加属性和方法
示例(对象的创建)
var flower = new Object();
flower.name = "长春花";
flower.genera = "夹竹桃科 长春花属";
flower.showName = function(){ alert(this.name); }
flower.showName();
002.使用字面量赋值方式创建对象
var flower = {
name:"长春花",
genera:"夹竹桃科 长春花属",
showName:function(){
alert(this.name);
}
}
flower.showName();
02.内置对象
03.常见的内置对象
001.String(字符串)对象
002.Date(日期)对象
003.Array(数组)对象
004.Boolean(逻辑)对象
005.Math(算数)对象
006.RegExp对象(重则表达式)
04.内置对象的特性
001.String(字符串)对象
0001.length属性
0002.indexOf()方法、replace()方法
002.Date(日期)对象
0001.get x x x:获取年、月、日、时、分、秒等等
0002.set x x x:设置年、月、日、时、分、秒等等
003.Array(数组)对象
0001.length属性
0002.sort()、concat()、jion()方法
004.Boolean(逻辑)对象
0001.true或者false
0002.toSting()方法
005.Math(算数)对象
0001.round()(四舍五入)、max()、min()方法。。。。。。。。。。。
006.RegExp对象
0001.RegExp时正规表达式的缩写
JavaScript构造函数和原型对象
1.构造函数
01.创建特定类型的对象
02.this变量
03.new操作符
*使用构造函数始终都应该以一个大写字母开头
2.使用构造函数创建新实例
01.调用构造函数的四个步骤(底层实现)
001.创建一个新对象
002.将构造函数的作用域给新对象(this就指向了这个新对象)
003.执行构造函数中的代码
004.返回新对象
3.表示对象的类型
01.constructor属性执行构造
02.示例
alert(flower1.constructor==Flower);
alert(flower1.constructor==Flower);
alert(flower2.constructor==Flower);
*返回值为true表示定义的对象是通过Flower构造创建
4.instanceof操作符
01.检测对象类型是否是该实例
02.示例
alert(flower instanceof Flower);
*成立这返回true
5.原型对象
01.每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象
02.prototype就是通过调用构造函数而创建的那个对象实例的原型对象
JavaScript继承
1.原型链
01.一个原型对象是另一个原型对象的实例
02.相关的原型对象层层递进,就构成了实例于原型的链条,就是原型链
2.借用构造函数
01.apply
001.语法
apply([thisOjb[,argArray]])
002.应用某个对象的一个方法,用另外一个对象替换当前对象
02.call
001.语法
call([thisObj[,arg1[,arg2[,argN]]]])
002.调用一个对象的一个方法,以另一个对象替换当前对象
03.借用构造函数的一个大的优势
001.可以在子类型构造函数中向父类型构造函数传递参数
3.组合继承
01.组合继承(有时也叫做伪经典继承)
001.将原型链和借用构造函数的技术组合到一块,发挥二者之长的一种继承模式
002.使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承