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

<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);



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值