//数组的创建方式:Array数组类型,创建了之后,我们通过typeof可以判断也是属于Object类型
//在Array数组类型可以存储任意类型的数据,而不是单一的存储某种类型的数据
//第一种:使用new Array()
var arr1=new Array();
arr1[0]="小明";//可以用数组指定下标的方式指定内容
arr1[1]=28;
alert(typeof arr1);//打印出Object
alert(arr1[0]);//打印出第一个,第二个数组元素的内容
//第二种:指定数组元素的个数
var arr2=new Array(5);//定义数组的元素为5个
arr2[0]="小强";
arr2[1]=18;
alert(typeof arr2);//打印出Object
alert(arr2[0]);//打印出第一个,第二个数组元素的内容
alert(arr2[1]);
//第三种创建数组的方式:使用字面量的方式创建
var arr3=[];
arr3['name']='小红';//使用指定的名称的下标给数组元素赋值
arr3['age']=28;
alert(typeof arr3);//Object类型
alert(arr3['name']);
//接下来认识转换方法(转换成字符串):toString(),valueOf(),toLocaleString();
var arr4=[];
arr4['name']='小红';//使用指定的名称的下标给数组元素赋值
arr4['age']=28;
arr4['date']=new Date();
alert(arr4['date'].toLocaleString());
//接下来认识栈方法:push()从数组末尾追加元素,pop()从数组末尾删除元素,并且返回删除的元素
var arr5=['小华',30,'男'];
var ar= arr5.push('小飞');
alert(arr5+",返回的是追加之后数组的长度"+ar);
var lastEle= arr5.pop();
alert(arr5+",lastEle="+lastEle);
//接下来认识队列方法:push():从数组末尾追加元素,shift():从数组的首端取元素,并且返回首端元素
var arr6=['小华',30,'男'];
var ar= arr6.shift();
alert(arr6+",返回的是"+ar);
//认识slince()和splice(),join:制定字符拼接字符串
var arr7=['小华',30,'男'];
var ar= arr7.slice(1,2);//指定的数组元素中第i个位置到第j个位置的值
alert(ar);
alert(arr7);//slice()并没有影响到原数组的数据
var arr8=['小华',30,'男','打球'];
var ar2=arr8.splice(1,3);//从数组元素中切割第i个位置元素,并且长度为3的数组元素
alert(ar2);
alert(arr8);//splice()方法会影响到原来的数组,这个时候打印的是指剩下'小华',这个元素
//函数作为参数
function box(sum,num){
return sum(num);
function sum(num){
return num+10;
var result=box(sum,10);
alert(result);
//我们使用call改变变量的作用域
var color="蓝色的";
var box1={
color:"红色"
function showColor(){
alert(this.color);//这里的this默认是window
showColor.call(this);//这里的this是window
showColor.call(box1);//这里的this是box1对象
//面向对象
//根据对象工厂创建对象
function createObject(){
var obj=new Object();
obj.name='';
obj.gender='男';
obj.sayHello=function(){
return this.name+","+this.gender+",";
return obj;
var obj1=createObject();
var obj2=createObject();
alert(obj1.sayHello()+","+obj2.sayHello());
//根据构造函数创建对象
function Person(name,age){
this.name=name;
this.age=age;
this.run=function(){
return this.name+","+this.age;
var lisi=new Person('lisi',20);
var zhansan=new Person('zhansan',26);
alert(lisi.name+","+lisi.age);
alert(lisi instanceof Person);
alert(lisi==zhansan);
var obj=new Object();
Person.call(obj,'小明',16);//对象的冒充
alert(obj.name);
python依赖 gcc
组合 组合举例组合就是多个类,或者若干类联合起来完成一个任务下面举例两个类联合起来完成一个任务为了降低代码的耦合度,我们一般不会在一个类里实例化另外一个类,都是将一个类在外面实例化后传参到另外一个来这样就带来了一个问题,如果有很多类相互继承,我们就需要在外面实例化很多类最好能动态实例化类并传参(依赖注入),后面讲到 组合举例
# 组合就是多个类,或者若干类联合起来完