对象的概念及访问器初级应用

js中提供给了我们多个内建对象
如object、string、array等等
我们今天讲的就是object

对象是一个只带有属性及方法的特殊数据类型

object的创建方法

通过的new关键字创建对象

let app = new Object();
// 添加属性
app.name="宋科";
// 添加方法
app.box=function ()
{
    console.log(this.name+"你好呀!")
}
console.log(app);
// 输出结果
// Object
// { 
//     name:宋科;
//     box:box();
// }

通过字面量来创建对象

let ansy =
{
name:"宋科",
xingbie:"男",
}

如何访问对象

// 访问对象
// 1.点语法来访问对象内的属性
console.log(ansy.name);
// 2.通过中括号来访问
console.log(ansy["name"]);
// 输出结果均为宋科

注意:

  • 中括号可以以变量作为属性名,但点语法不可以
  • 中括号可以以数字作为属性名,但点语法不可以
当我们用点语法访问数字属性时,编辑器会自动报错
console.log(ansy.110);
中括号不会
console.log(ansy["110"]);

访问器是什么

  • 访问器可以说是一件衣服,可以将某些方法和属性隐藏起来,不给外界访问
  • 同时可以让我们快速的获取或设置一个值
  • 即可存储值也可以存储语句块

get与set的使用方法

  • get主要负责读取属性,无法改写属性
  • set主要负责改写属性,无法获取属性
var p={
    _age:18,
    读取
    get age(){
        return this._age;
    },
    set age(val){
        this._age=val;
    }
}
p.age=20; 
调用方法
console.log(p["age"]);

为什么set与get同名,没有打印错误,因为set里面根本没有值

var p={
    _age:18,
    get age(){
        return this._age;
    },
    改写作用
    set age(value){
        this._age=value;
    }
}
也可以用中括号法调用
p["age"]=8;
console.log(p["_age"]);
// 输出结果味8

value的作用是设置值,同时set:function(){}也可以,但俩者会起冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值