您的位置:首页 > 教育 > 培训 > t恤定制网站_深圳龙华政府在线_日照seo公司_如何做网页链接

t恤定制网站_深圳龙华政府在线_日照seo公司_如何做网页链接

2025/11/13 7:03:02 来源:https://blog.csdn.net/weixin_51351637/article/details/144428177  浏览:    关键词:t恤定制网站_深圳龙华政府在线_日照seo公司_如何做网页链接
t恤定制网站_深圳龙华政府在线_日照seo公司_如何做网页链接

JavaScript - 对象

文章目录

  • JavaScript - 对象
  • 一、对象
    • 1.1 声明对象
    • 1.2 增 删 改 查
    • 1.3 方法
    • 1.4 null
    • 1.5 遍历对象
  • 二、内置对象 Math
    • 2.1 属性
    • 2.2 方法
  • 三、拓展

一、对象

对象是 JavaScript 数据类型的一种,可以理解为是一种无序的数据集合

数组是有序的数据集合

之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合

1.1 声明对象

语法

let 对象名 = {}
let 对象名 = new Object()

比如声明一个空对象(但不是null)

 <script>// 声明字符串类型变量let str = 'hello world!'// 声明数值类型变量let num = 199// 声明对象类型变量,使用一对花括号// user 便是一个对象了,目前它是一个空对象let user = {}</script>

它由属性和方法两部分构成

  • 属性:信息或叫特征(名词),比如手机尺寸、颜色、重量等
  • 方法:功能或叫行为(动词),比如手机打电话、发短信、玩游戏
let obj = {uname : 'zhangsan',age: '18'
}
  • 属性都是成对出现的,包括属性名和值,之间使用英文“:”分割
  • 多个属性之间使用英文","分隔
  • 属性就是依附在对象上的变量(外面是变量,对象内是属性)
  • 属性名可以使用""或’',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

1.2 增 删 改 查

image-20240627102939793

  • 属性 -增

语法:对象名.新属性 = 新值

也可以动态为对象添加属性,动态添加与直接定义是一样的,只是语法上更灵活。

let obj = {uname : 'zhangsan',age: '18'
}obj.hobby='足球'
  • 属性 -删

语法:delete 对象名.属性

let obj = {uname : 'zhangsan',age: '18'
}delete obj.age
  • 属性 - 改

语法:对象名.属性 = 新值

let obj = {uname : 'zhangsan',age: '18'
}obj.uname='lisi'
  • 属性 - 查

声明对象,并添加了若干属性后,可以使用“.”获得对象中属性对应的值,我称之为属性访问

语法:对象名.属性

其实就是获取对象里面的属性值

let obj = {uname : 'zhangsan',age: '18','goods-name':'123'
}console.log(obj.uname)
console.log(obj['goods-name']) //另外一种写法,这样写不报错,这种后面会大量的使用

1.3 方法

  1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔
  2. 多个属性之间使用英文 , 分隔
  3. 方法是依附在对象中的函数
  4. 方法名可以使用 ""'',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

语法如下所示

  <script>// 方法是依附在对象上的函数let person = {name: '小红',age: 18,// 方法是由方法名和函数两部分构成,它们之间使用 : 分隔singing: function () {console.log('两只老虎,两只老虎,跑的快,跑的快...')},run: function () {console.log('我跑的非常快...')}}// 调用对象中 singing 方法person.singing()// 调用对象中的 run 方法person.run()</script>

也可以动态添加方法

动态添加与直接定义是一样的,只是语法上更灵活

  <script>// 声明一个空的对象(没有任何属性,也没有任何方法)let user = {}// 动态追加属性user.name = '小明'user.['age'] = 18// 动态添加方法user.move = function () {console.log('移动一点距离...')}</script>

无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的。

1.4 null

null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。使用 typeof 检测类型它的类型时,结果为 object。

1.5 遍历对象

希望遍历出对象里面的元素

对象里面是无序的键值对,没有规律

数组是有规律的下标

let obj = {uname: 'zhangsan'
}
for(let k in obj) {// k 是属性名  其实是一个字符串并且带带引号  obj.'uname' k ===  'uname'// obj[k]  属性值    其实就是obj['uname']这么取值的   obj[k]console.log(obj[k])
}

for in 不提倡遍历数组 因为 k 是字符串类型,不是数字类型的

但是下面这么遍历的时候也能得到数组中的元素

 let arr = new ['zhangsan','lisi']for(let k in arr){console.log(arr[k])}

二、内置对象 Math

console其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 log,然后调用 log 这个方法,即 console.log()

除了 console 对象外,JavaScritp 还有其它的内置的对象

直接去里面查询吧

数学 - JavaScript |MDN的 (mozilla.org)

里面也有一些其他的知识:

JavaScript - 学习 Web 开发 | MDN (mozilla.org)

2.1 属性

  • Math.PI,获取圆周率
// 圆周率
console.log(Math.PI);

2.2 方法

  • Math.random,生成 0 到 1 间的随机数
// 0 ~ 1 之间的随机数, 包含 0 不包含 1
Math.random()

image-20240627110849608

  • Math.ceil,数字向上取整
// 舍弃小数部分,整数部分加1
Math.ceil(3.4)
  • Math.floor,数字向下取整
// 舍弃小数部分,整数部分不变
Math.floor(4.68)
  • Math.round,四舍五入取整
// 取整,四舍五入原则
Math.round(5.46539)
Math.round(4.849)
  • Math.max,在一组数中找出最大的
// 找出最大值
Math.max(10, 21, 7, 24, 13)
  • Math.min,在一组数中找出最小的
// 找出最小值
Math.min(24, 18, 6, 19, 21)
  • Math.pow,幂方法
// 求某个数的多少次方
Math.pow(4, 2) // 求 4 的 2 次方
Math.pow(2, 3) // 求 2 的 3 次方
  • Math.sqrt,平方根
// 求某数的平方根
Math.sqrt(16)

三、拓展

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

  • 值类型:简单数据类型/基本数据类型,在存储变量中存储的是值本身,所以叫值类型

string、number、boolean、undefined、null

  • 引用类型:复杂数据类型,在存储变量中存储的仅仅是地址(引用),因此叫做引用数据类型

通过new关键字创建的对象(系统对象、自定义对象),如Object、Array、Date等

引用类型变量在栈空间存放的事地址,真正的对象实例存放在堆空间中

堆栈空间分配区别

  • (操作系统):由操作系统自动分配释放存放函数的参考值、局部变量的值等。其操作方式类似于数据结构中的栈

简单数据类型存放到栈里面

  • (操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收

引用数据类型存放到堆里面

image-20240627112915328
image-20240627111240814

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com