JS对象 this Math 原始类型 引用类型

本文深入探讨了JavaScript中的对象字面量、属性访问、操作以及this关键字的用法。通过实例展示了如何创建、修改和访问对象属性,以及在函数中this的指向。此外,还讲解了数组中的对象操作以及Math对象的使用。文章最后对比了原始类型和引用类型的区别,并举例说明。
摘要由CSDN通过智能技术生成

万物皆对象

//对象字面量
let user={
  //键值对
  name:'summer',
  age:28,
  email:'1067@qq.com',
  location:'长沙',
  hobbies:['写代码','大保健','打牌'], 
};
console.log(user)
//获取存储 对应的值
console.log(user.name);
console.log(user['age'])
//操作属性
user.age=30;
user['age']=28;
console.log(user.age);

const key='location';
console.log(user[key],user['location']);

console.log(typeof(user));

this关键词

//对象字面量
let user = {
  //键值对
  name: 'summer',
  age: 28,
  email: '1067@qq.com',
  location: '长沙',
  hobbies: ['写代码', '健身', '打牌'],
  login: function () {
    console.log('用户已经登录');
  },
  logOut: function () {
    console.log('用户已经退出登录')
  },
  logHobies: function () {
    // console.log('logHobies')
    console.log(this);//显示当前对象
    //this关键词不能应用于箭头函数当中 
    this.hobbies.forEach(
      (hobby) => { console.log(hobby); }
    );
  }

};
//this 是一个上下文对象 表示当前代码执行的一个上下文 

console.log(this) //指的是window
user.logHobies();

//数组当中的对象

//对象字面量
let user = {
  //键值对
  name: 'summer',
  age: 28,
  email: '1067@qq.com',
  location: '长沙',
  hobbies: ['写代码', '健身', '打牌'],
  blogs: [
    { title: '第一篇博客', athhor: 'Summer', likes: 50 },
    { title: '第二篇博客', athhor: 'Summer', likes: 100 }
  ],

  login: function () {
    console.log('用户已经登录');
  },
  logOut: function () {
    console.log('用户已经退出登录')
  },
  logHobies: function () {
    this.hobbies.forEach(
      (hobby) => { console.log(hobby); }
    );
  },
  logBolgs() {
    this.blogs.forEach(
      (blog) => {
                 console.log(blog.title);
      }
    );
  }


};

user.logBolgs();


math对象

//内置对象

console.log(Math);

console.log(Math.PI);
console.log(Math.E);
const number=4.8;

console.log(Math.round(number));//5  //四省五入

console.log(Math.floor(number)); //向下取整
console.log(Math.ceil(number));  //向上取整
console.log(Math.trunc(number)); //忽略和删除小数位数

//随机数

const  random=Math.random();
console.log(random)

console.log(Math.round(random*100)); //100的随机数

//原始类型 引用类型

原始类型: Number String Boolean Null Undefined Symbol

引用类型 对象字面量 数组 函数 日期 所有其他对象 

原始类型与引用类型的区别
一、赋值的区别:原始类型赋值,引用类型赋的是引用而不是值本身

二、比较的区别:原始类型比较的是值,引用类型比较的是引用是否指向一个对象

三、传参的区别:与赋值一样

原始类型与引用类型的类型检测
一、原始数据类型检测:typeof 值

二、引用数据类型检测:值 instranceof 类型

//原始类型 引用类型

// 原始类型 Number String Boolean Null Undefined Symbol

 let scoreOne = 50;
 let scoreTwo = scoreOne; 

console.log(`scoreOne: ${scoreOne}`, `scoreTwo:${scoreTwo}`); //scoreOne: 50 scoreTwo:50

 scoreOne = 100;
 
 console.log(`scoreOne: ${scoreOne}`, `scoreTwo:${scoreTwo}`); //scoreOne: 100 scoreTwo:50

// 引用类型  对象(Object)

let userOne = { name: 'summer', score: 100 };
let userTwo = userOne;

userOne.name = 'Henry';
userOne.score = 50;

console.log(userOne, userTwo); //scoreOne: 100 scoreTwo:50


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值