JavaScript 如何创建对象
在JavaScript 中有很多方式用来创建对象,本文介绍下面两种
- 使用对象字面量创建属性固定的对象
- 使用构造方法模板创建灵活的对象
对象字面量方式
let 对象名 = {
//属性名不带引号
属性名:属性值,
属性名:属性值,
属性名:属性值,
方法名:function(){
//业务逻辑
}
}
构造方法模板方式
function 对象名(形参1,形参2,形参N){
this.属性 = 形参1;
this.属性 = 形参2;
this.属性 = 形参N;
this.方法名 = function(){
//业务逻辑
}
}
钩子函数
etoak:function(){}
注意:以上为ES5
的写法在ES6
中钩子函数使用简略写法
etoak(){}
对象的基本操作
- 拿取属性值
属性值 = 对象名.属性名
- 调用方法
对象名.方法名()
- 删除属性
delete 对象名.属性名
使用对象字面量和构造方法创建对象
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>使用对象字面量和构造方法创建对象</title>
</head>
<body>
<script>
//对象字面量方式
let stu = {
name:'苗容基',
age:18,
hobby:['女','动漫','做饭'],
/*
this:在此对象外表示全局变量window
在此对象内,表示本对象也是stu
*/
etoak(){
console.log(`今年${this.age}岁的${this.name}非常喜欢${this.hobby[1]}`)
}
}
console.log(stu.name+'\n'+stu.age)
console.log(`${stu.name}\n${stu.age}`)
stu.etoak()
function person(name,age,hobby){
this.name = name
this.age = age
this.hobby = hobby
this.etoak = function(){
if(age>18){
console.log(`欢迎您回来${this.name}`)
}else{
console.log(`年龄在18岁以下,禁止访问本页面`)
}
}
}
let oneperson = new person('尚朝晖',20,['游戏','学习'])
console.log(`${oneperson.name}\n${oneperson.hobby[0]}`)
oneperson.etoak()
</script>
</body>
</html>