对象:object;
什么叫做对象:
在程序中,对象就是我们所需要描述目标以及所需要使用任何一种方法,数据或者是某一种数据的属性
对象的作用:1,可以直接实现对需要重复使用的代码进行一个封装;实现对代码的利用效率;
2,减少了开发人员书写代码的工作量
3,减少对于程序的维护成本;
对象的基本语法:{}
var obj={};直接量创建原始对象;
对象里面的组成部分:1,对象的属性;2,对象方法;
对象的属性表示方法:obj.属性名;这样就可以实现对属性值的获取;
对象的方法:obj.方法名()即可实现对方法内部的程序执行;
01,原始对象的缺陷是:
var zhouqi={};
var shenmengqi={};
模板对象创建/工厂函数;
function student(name,age){
var obj={};
obj.name=name;
obj.age=age;
obj.say=function (){
return obj.name +obj.age
}
}
02. //工厂函数;函数内包含一个对象;
function aa(a,b){
var obj={};
obj.name=a;
obj.age=b;
}
//工厂函数的缺点:我们无法直接明确的看到,该函数所返回的对象是表达什么内容;
//因为工厂函数的名字都太笼统了;另外工厂函数方法的导出必须使用闭包的方法;
//同时函数内嵌套对象,也增加了代码的数量;
//我们需要一种新的对象方法,如果能够直接将函数名称作为对象就可以了;
//3;构造函数
//构造创建;
数组的构造创建:var arr=new Array();
函数的构造创建 var fn=new Function();
对象的构造创建 var obj=new Object();
构造创建方法中:new就是一个声明符,当计算机看到new声明符的时候,就会在堆内存中直接开辟一个可以伸缩的空间
但凡是用new这种方法创建的,后面的名称首字母都必须是大写;
03.构造方法创建对象:
var obj=new Object();
04:构造函数:
function Stu(name,age){
this.name=name;
this.age=age;
this.say=function(){
return this.name;
}
}
var tom=new Stu("a",21);
console.log(tom.say())
//我们创建一个关于学员的构造对象,构造对象的典型表现是:对象名称首字母大写
//函数内部不再嵌套:内部对象,对象的属性表示:this.属性名;
//构造函数的赋值:我们称为:实例化,构造函数的实例化是需要在函数的名称前面添加一个new的符号才能实现;
this关键字:
this代表当前:
this如果出现在对象的内部,就是在花括号内部,this代表的是对象本身;
如果this出现在对象之外,那么他代表的是全局对象window;