一、数组(Array):将一组数据存储在单个变量名下的优雅存储,数据类型不限,数组中的数据成为元素
1、数组的创建方式(在创建数组时不用像java一样提前声明数组的长度)
- 利用new关键字创建
var a = new Array();//创建一个空的数组
- 利用数组字面量创建数组
var a = [];
2、数组的访问方式
var a = [1,2,3,4,5];
console.log(a[0]);//1
3、遍历数组元素
var a = [1,2,3,4,5]
for(var i = 0;i<a.length;i++){
console.log(a[i]);
}
4、数组元素的长度
var a = [1,2,3];
console.log(a.length);
二、对象
- 利用字面量创建对象
//一、1.利用对象字面量创建对象
//var obj = {};
var obj = {
unname: '张三',
age :18,
sex:'男',
apple: function() {
console.log('hi');
}
}
//1.对象里的属性或者方法采用键值对形式 键:属性名 值:属性值
//2、多个属性或者方法中间使用逗号隔开的
//3.方法冒号后面跟的是一个匿名函数
- 利用new Object创建对象
-
//利用new Object创建对象 var obj = new Object();//创建一个空对象 obj.uname = ''; obj.age = 18; obj.sex = '男'; obj.sayHi = function(){ console.log('hi~'); } /* 1.我们是利用 等号 = 赋值的方法 添加对象的属性和方法 2.每个属性和方法之间,分号结束 */
- 调用对象的属性
//2.调用对象属性第一种 对象名.属性名
console.log(obj.unname);
//调用对象属性第二种
console.log(obj['age']);
- 调用对象的方法
// 对象名.方法名()
console.log(obj.apple());
- 构造函数的用法
var ldh = {
uname:'刘德华',
age : 55,
sing :function(){
console.log('冰雨');
}
}
//因为我们一次创建一个对象 ,我们只能赋值然后修改
//我们可以利用函数重复这些相同得到代码,把此函数成为“构造函数”
//这个函数里面封装的不是普通代码,而是对象
//构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面
/* function 构造函数名(){
this.属性 = 值;
this.方法 = function(){
}
new 构造函数名();
} */
// new关键字执行过程
//1、new 构造函数可以在内存中创建一个空的对象
//2、this 就会指向刚才创建的空对象
//3、执行构造函数里的代码 给这个空对象添加属性和方法
//4、返回这个对象
function Star(uname,age,sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang){
console.log(sang);
}
}
var ldh = new Star('刘德华',18,'男');//调用函数返回的是一个对象
console.log(ldh.name);
console.log(ldh.age);
ldh.sing('冰雨');
var zxy = new Star('张学友',19,'男');
console.log(zxy.name);
console.log(zxy.age);
zxy.sing('李香兰');
//1.构造函数名字首字母要大写
//2.我们构造函数不需要return 就可以返回结果
//3、我们调用构造函数必须使用 new
//4、我们只要使用new Star() 调用函数就创建一个对象
//5、我们的属性和方法前面必须添加this
- 遍历对象中的属性名和属性值
//遍历对象属性
var obj = {
name:'pink老师',
age:18,
sex:'男',
fn:function(){ //很少用来遍历方法
}
}
console.log(obj.age);
console.log(obj.name);
console.log(obj.sex);
//for in{
// } 遍历我们的对象
for( var k in obj){
console.log(k); //k 变量 输出 得到的是属性名
console.log(obj[k]);//obj[k] 得到的是 属性值
}