您的位置:首页 > Web前端 > JavaScript

javascript学习篇之对象和数组创建等基础知识代码笔记

2014-10-06 13:22 991 查看
<pre name="code" class="java">//javascript对象的创建

//1、使用new Object()创建对象
var obj1=new Object();
obj1.name="小明";
obj1.age=18;
alert(obj1);

//2、第二种创建对象:不使用new
var obj2=Object();
obj2.name="小强";
obj2.age=28;
alert(obj2.name);

//3、第三种创建对象:使用字面量的方式
var obj3={
name:"小红",
age:20,
sayHello:function(){
alert('你好');
}
}
alert(obj3.name);
alert(obj3["age"]);//使用数组的方式必须要带上引号
alert(obj3.sayHello());

//数组的创建方式: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);



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: