1、利用字面量创建对象
<script>
//1.利用对象字面量创建对象{}
// var obj = {}; 创建了一个空的对象
var obj = {
uname: '张三',
age: 18,
sex: '男',
sayHi: function () {
console.log('hi~')
}
}
//(1) 里面的属性或者方法我们采取键值对的形式 属性名 : 值 (键是属性名)
//(2) 多个属性或者方法中间用逗号隔开 最后一个可以不加
//(3) 方法冒号后面跟的是一个匿名函数
//2.使用对象
//(1)调用对象的属性 我们采取 对象名.属性名 (这个点(.)我们理解为 的)
console.log(obj.uname);
//(2) 调用属性还有一种方法 对象名['属性名']
console.log(obj['age']);
//(3)调用对象的方法 sayHi 对象名.方法名() 千万别忘记添加小括号
obj.sayHi();
</script>
2、利用 new object 创建对象
<script>
// 利用 new object 创建对象
var obj = new Object(); //创建了一个空的对象 切记 这个Object 开头大写
// 在里面添加内容
obj.uname = '张三';
obj.age = 18;
obj.sex = '男';
obj.sayhi = function () {
console.log('hi~');
}
obj.sayno = function () {
console.log('no~');
}
// (1)我们是利用 等号 = 赋值的方法 添加对象的属性和方法
// (2)每个属性和方法之间用 分号结束
console.log(obj.uname);
console.log(obj['sex']);
obj.sayhi();
obj.sayno();
</script>
3、利用构造函数创建对象
前面两种方法,一次只能创建一个对象,里面很多的属性和方法很多是大量相同的,我们只能复制
因此,我们可以利用函数的方法,重复这些相同的代码,把这个函数称为构造函数
构造函数就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面
这个函数里面封装的不是普通的代码,而是对象
构造函数的语法格式
function 构造函数名() {
this.属性 = 值;
this.方法 = function () { }
}
// 利用构造函数创建对象
// 我们需要创建四大天王的对象 相同的属性: 名字 年龄 性别 相同的方法: 唱歌
// 构造函数的语法格式
/* function 构造函数名() {
this.属性 = 值;
this.方法 = function () { }
} */
//调用
//new 构造函数名();
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(typeof ldh);
console.log(ldh.name);
console.log(ldh['sex']);
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() 调用函数就创建了一个对象 ldh {}
//5.我们的属性和方法前面必须添加 this
</script>
遍历对象属性
<script>
var obj = {
name: '张三',
age: 18,
sex: '男'
}
// for in 遍历对象
// for(变量 in 对象){
// }
for (var k in obj) {
console.log(k); //变量 k 输出 属性名
console.log(obj[k]); //属性值
}
// 我们使用 for in 里面的变量 我们喜欢写 k 或者 key
运行结果:

本文介绍了JavaScript中创建对象的三种常见方法:字面量创建、new object创建以及利用构造函数创建。特别强调了构造函数在处理大量重复属性和方法时的优势,它是将对象的共性部分抽象为函数,用于生成对象。此外,还讨论了如何遍历对象属性。

1016

被折叠的 条评论
为什么被折叠?



