JS 之 对象 构造函数 数组

本文详细介绍了JavaScript中的对象,包括创建对象、属性的方括号表示法、检查属性存在及for...in循环。接着讲解了构造函数的命名规则、instanceof操作符及其在对象创建中的作用。此外,还探讨了引用类型的概念以及Object构造函数。数组部分涵盖了如何将伪数组转换为真数组,以及forEach()方法遍历数组。最后提到了正则表达式的构造函数。
摘要由CSDN通过智能技术生成

1. 对象

1. 创建对象

// 创建对象
let obj = {...} //字面量创建对象
let obj = new Object ( ); // “构造函数” 的语法

2. 属性

let user = {     // 一个对象
  name: "John",  // 键 "name",值 "John"
  age: 30        // 键 "age",值 30
};
// 读取文件的属性:
alert( user.name ); // John
alert( user.age ); // 30
//user['age'] //动态写法

// 属性可以是任何类型
//1. 添加一个布尔型
user.isAdmin = true;
//2. 删除属性 delete
delete user.age;
//3. 多词属性名
let user = {
  name: "John",
  age: 30,
  "likes birds": true  // 多词属性名必须加引号
};

方括号

对于多词属性 .不够用

let user = {};

// 设置
user["likes birds"] = true;

// 读取
alert(user["likes birds"]); // true

// 删除
delete user["likes birds"];

//方括号同样提供了一种可以通过任意表达式来获取属性名的方法
let user = {
  name: "John",
  age: 30
};
let key = prompt("What do you want to know about the user?", "name");
// 访问变量
alert( user[key] ); // John(如果输入 "name")

检查是否存在给定键的属性

let user = { name: "John", age: 30 };
alert( "age" in user ); // true,user.age 存在
alert( "blabla" in user ); // false,user.blabla 不存在。

“for…in” 循环

为了遍历一个对象的所有键(key),可以使用一个特殊形式的循环:for…in。这跟我们在前面学到的 for循环是完全不一样的东西。

for (key in object) {
  // 对此对象属性中的每个键执行的代码
}
let user = {
  name: "John",
  age: 30,
  isAdmin: true
};

for (let key in user) {
  // keys
  alert( key );  // name, age, isAdmin
  // 属性键的值
  alert( user[key] ); // John, 30, true
}
//同样,我们可以用其他属性名来替代 key。例如 "for(let prop in obj)" 也很常用。

2. 构造函数

构造函数:其实也是函数,只不过构造函数一般用于和new搭配使用,创建对象

1.命名规则

它们的命名以大写字母开头。
它们只能由 “new” 操作符来执行。

当一个函数被使用 new 操作符执行时,它按照以下步骤:
一个新的空对象被创建并分配给 this。
函数体执行。通常它会修改 this,为其添加新的属性。
返回 this 的值。

function User(name) {
  // this = {};(隐式创建)

  // 添加属性到 this
  this.name = name;
  this.isAdmin = false;

  // return this;(隐式返回)
}

//所以 new User("Jack") 的结果是相同的对象:
let user = {
  name: "Jack",
  isA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值