【JavaScript】对象


一、对象

1. JavaScript的数据类型

在这里插入图片描述

  • 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol【Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。】。

  • 引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

在JavaScript中,对象是一组无序的相关属性和方法的集合。除基本类型外的数据类型均可看作对象。

二、创建对象的三种方式

2.1 利用字面量创建对象

对象字面量:就是{},包含了表达对象的属性和方法。

var obj = {
    uname:'elsie',
    age:18,
    sex:'female',
    sayHi: function(){
        console.log('hi~');
    }
}
  • 里面的属性或方法采取键值对的形式
  • 多个属性和方法之间用逗号,隔开
  • 方法冒号后面跟的是一个匿名函数

调用对象的属性:
对象名.属性名

console.log(obj.uname);

对象名['属性名']

console.log(obj['uname']);

调用对象的方法:
对象名.方法() 不要忘记小括号!

obj.sayHi();

变量 vs 属性、函数 vs 方法

变量和属性

  • 相同点:都是用来存储数据的
  • 不同点:变量是单独声明并赋值,使用时直接写变量名,单独存在;属性寄托在对象里面,不需要声明,使用时必须 对象.属性

函数与方法

  • 相同点:都是实现某种功能
  • 不同点:函数是单独声明并调用 函数名()单独存在;方法在对象中,调用时用对象.方法()

2.2 利用new Object创建对象

利用等号 = 赋值的方法来添加对象的属性和方法,每个属性和方法之间用分号结束。

// 利用 new object创建对象
var obj = new Object(); //创建一个空对象
obj.uname = 'elsie'; //通过追加进行赋值
obj.age = 18;
obj.sex = 'female';
obj.sayHi = function(){
    console.log('hi~');
}

2.3 利用构造函数创建对象

一次创建一个对象,里面很多属性和方法大量相同,只能复制。将对象里面一些相同的属性和方法抽象出来封装到函数里面——构造函数

// 构造函数的语法格式
function 构造函数名(形参){
    this.属性 =;
    this.方法 = function(){}
}
// 使用构造函数
new 构造函数名(实参);
  • 构造函数名首字母大写(规范)
  • 构造函数不需要 return 就可以返回结果
  • 调用构造函数必须使用new关键字
  • 构造函数中属性和方法前面必须添加this,指向当前对象

利用new关键字 + 构造函数创建对象的过程也成为对象实例化

三、new 关键字

new + 构造函数可以

  • 在内存中创建一个空的对象
  • this指向刚刚创建的对象
  • 开始执行构造函数中的代码,给这个空对象添加属性和方法
  • 最后返回这个对象。

四、遍历对象属性

4.1检查对象中是否含有某属性

in 运算符

  • 通过该运算符可以检查一个对象中是否含有指定的属性,返回一个布尔值
  • 语法: “属性名” in 对象

4.2 for…in

for...in语句用于对数组或者对象可枚举属性进行循环操作。eg.符号symbol添加的属性是不能枚举的。

for ( 变量 in 对象){

}
var obj = {
    name:'elsie',   
    age:18,
    sex:'female'
}
// 使用for in里面的变量习惯写成 k 或者 key
for (var k in obj){
    console.log(k);  //得到属性名
    console.log(obj[k]); //得到属性值,k是变量
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值