目录
一.字面量创建对象
二.new Object 创建对象
三.构造函数创建对象
四.遍历对象
一.字面量创建对象
对象字面量:就是花括号{ } 里面包含了表达这个具体事物(对象)的属性和方法
{ }里面的属性或者方法采取键值对的形式 键:属性名 值:属性值
调用对象的属性
1.采取 对象名.属性名 .理解为‘的’
2.对象名['属性名']
调用对象的方法 对象名.方法名();
函数和方法区别:函数是单独声明 调用是 函数名();
方法是在对象里面的 调用的时候 对象名.方法名();
<script>
//多个属性或者方法用逗号隔开
var obj = {
namee: '张三',
age: 20,
sex: '男',
//在对象里面是方法
sayHi: function() {
console.log('hi~');
}
}
//在对象外面是函数
function fn() {
}
//调用对象的属性 两种方法
console.log(obj.age);
console.log(obj['sex']);
//调用对象的方法
obj.sayHi(); //函数调用要加小括号
</script>
二.new Object 创建对象
注意 : 利用这个方法 属性后面是分号!
<script>
//Object O要大写!
var obj = new Object(); //创建一个空对象
obj.uname = '李四'; //传值
obj.age = 18;
obj.sex = '男';
obj.sayHi = function() {
console.log('hi!')
}
console.log(obj.uname);
console.log(obj['age']);
obj.sayHi();
</script>
三.构造函数创建对象
为什么需要构造函数?因为前面两种创建对象的方式一次只能创建一个对象
构造函数就是把对象里面一些相同的属性和方法抽取出来封装到函数里
构造函数的语法格式
构造函数首字母要大写 构造函数调用必须使用new!!!!
this 表示当前的
<script> //语法
function 构造函数名() {
this.属性 = 值;
this.方法 = function() {}
}
new 构造函数名(); //调用函数
</script>
<script>
//构造函数首字母大写peo
function Peo(name, age, sex) {
this.name = name;
this.age = age;
this.sing = function(sang){
console.log(sang)
}
}
var zs = new Peo('张三', 18, '男'); //调用函数返回的是一个对象
console.log(zs.name);
zs.sing('两只老虎')
var ls = new Peo('李四', 20, '男');
console.log(ls.name);
</script>
四.遍历对象
把对象里的属性值全部打印出来
对象 属性名和值之间用冒号 构造函数属性名和值之间用等号=
使用for in 里面的变量 前端通常用k或者key(当然其他也无所谓
<script>
var obj = {
uname: '老五',
age: 19,
sex: '男'
}
//for in 遍历我们的对象
// for(变量 in 对象) {
// }
for (var k in obj) {
console.log(k); // k变量 不需要赋值 输出得到的是属性名(左边 uname age sex
console.log(obj[k]); //obj[k] 输出是属性值(右边 老五 19 男
}
</script>