对象

  • 一种数据类型
  • 可以理解为一堆数据的集合
  • 用来表示某个事物

属性方法组成

语法

属性

let 对象名 = {
  属性名:值,
  属性名:值,
  属性名:值
}

//例
let person = {
  uname:'andy',
  age:18,
  sex:'男'
}

对象的属性没有顺序,属性和值之间用冒号: 属性之间用,

方法

本质是函数

let person = {
  name: "andy",
  sayHi: function () {
    document.write("hi~~")
  },    //注意加逗号
}
  • 方法是由方法名函数两部分构成,它们之间使用 : 分隔
  • 多个属性之间使用英文,分隔
  • 方法是依附在对象中的函数
  • 方法名可以使用 “” 或 ”,一般情况下省略,除非名称遇到特殊符号如空格、中横线等

对象使用

属性访问

//两种方式(根据场景使用)
let person = {
		name:'andy',
		age:18,
		sex:'男'
}

// 对象名.属性名
console.log(person.name)
console.log(person.age)

// 对象名['属性名']
console.log(person['name'])
console.log(person['age'])

方法访问

let person = {
  name: "andy",
  sayHi: function () {
    document.write("hi~~")
  },    //注意加逗号
}

//调用 注意需要加小括号
person.sayHi()

操作对象

增加/修改

如果对象没有该属性,则增加该属性,如果有,则修改属性值

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

let obj = {
  name: 'andy'
}

//增加属性
//对象名.新增属性名 = 属性值
 obj.hobby = '拍照'
 obj['sex'] = '男'

//新增对象中的方法
//对象名.新增方法名 = 方法
obj.move = function(){
		document.write('12')
}

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

删除对象中的属性(了解)

//delete 对象名.属性名
  delete obj.age

遍历对象

  • 对象没有像数组一样的length属性,所以无法确定长度
  • 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标
//for(let k 对象名){}
for(let k in obj){
  console.log(k)   //属性名
}

//得到属性值 k是变量不要加引号!
console.log(obj[k])
// k存的是字符串 === '属性名'
//——————————————————

//console.log(obj.k) 错误!! 找的是obj里面的k属性

内置对象

例如:

document.write()
console.log()	

Math

方法Math.*() 
random生成0-1之间的随机数(包含0不包括1)
ceil向上取整
floor向下取整
round就近取整
max找最大数
min找最小数
pow幂运算
abs绝对值
console.log(Math.PI)  //  圆周率    π  
console.log(Math.random())  //  随机数  随机抽奖  随机点名
// 返回的是小数  但是能得到 0  得不到 1
// 向上取整  返回的整数
console.log(Math.ceil(1.1))  // ceil  2
console.log(Math.ceil(1.5))  // ceil  2
console.log(Math.ceil(1.9))  // ceil  2
// 向下取整  返回的整数  floor  
console.log(Math.floor(1.1))  // floor  1
console.log(Math.floor(1.5))  // floor  1
console.log(Math.floor(1.9))  // floor  1
console.log('-------------------------------')
// round 就近取整( .5往大取整)  返回的整数   
console.log(Math.round(1.1))  // round  1
console.log(Math.round(1.5))  // round  2
console.log(Math.round(1.9))  // round  2
console.log('-------------------------------')
console.log(Math.round(-1.1))  // round  -1
console.log(Math.round(-1.5))  // round  -1
console.log(Math.round(-1.9))  // round  -2
// 最大值和最小值
console.log(Math.max(1, 5, 9, 45))
console.log(Math.min(1, 5, 9, 45))

生成任意范围的随机数

//生成N-M之间的随机数
Math.floor(Math.random() * (M - N + 1)) + N

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注