了解对象
对象是什么?对象是一组无序的相关属性和方法集合,js中所有事物都是对象,例如字符串,数值,数组,函数等
对象是由属性和方法组成的
属性:事物的特征,在对象中用属性来表示(常用名词)像是大小,颜色,重量,尺寸,厚度等
方法:事物的行为,在对象中用方法来表示(常用动词)像是敲代码,看视频,学习等
为什么使用对象?
数组很难准备表示一个人的数据
为了更好的储存一组数据,对象应运而生,对象为每项数据设置了属性名称,可以访问数据更加具有语义化,数据结构清晰明了,表意明显
如何创建对象
有两种方法,使用字面量和new来创建对象
使用字面量创建对象
// 使用字面量创建对象
let obj = { uname : `黄宁` }
console.log(obj)
使用new来创建对象
// 使用new Object let name = new Object() name.uname = `黄宁` console.log(name)
使用对象里边套函数
let name = { uname : `1`, age : `2`, link : function () { return `长条rap篮球` } } console.log(name) let obj = new Object() obj.name = `` obj.age = `` obj.sex = `` obj.x=function () { return `唱跳rap` } console.log(obj)
对象的增删改查
查:对象名对应的键值对
obj.name或者obj【`name`】
改:对象名.对应的键 = `对应的值`
obj.name = `新的名字`
增:对象名.新的键 = `新的值`
obj.userName = `最新的名字`
删:delete空格对象名.删除的键
delete obj.name
// 字面量方法添加对象内容 let name = { // 键值对,键是任意取的,值是任意给的 user:`名字`, age:`18`, sex:`女`, addess:`地区` } // console.log(name) //这里输出的对象是无需的 // 查询对象里边内容,使用--对象名.键 console.log(name.user)//如果键值对的键是字符串被引号引起来了,使用这种方法是查询不到的 console.log(name.age) console.log(name.addess) // 查 对象名[`属性名`] console.log(name[`user`])//如果键值对的键是字符串被引号引起来了,使用这种方法才能查到 let u = { // 键值对,键是任意取的,值是任意给的 'user-nan':`新名字`, age:`18`, sex:`女`, addess:`中国` } console.log(name.user)//如果键值对的键是字符串被引号引起来了并且使用了-号,使用这种方法是查询不到的 console.log(name[`user`])//如果键值对的键是字符串被引号引起来了并且使用了-号,使用这种方法才能查到 // 对象新增一个数据 name.gz = `100` name.height = `185` console.log(name) // 对象修改一个数据 name.sex = `男` // 对象删除一个数据 delete 删除 delete name.age //delete 对象名称.删除对应的·键
对象的方法(对象插入函数)
对象中是可以插入函数的,这样的话,我们就可以使用对象完成各种各样的需求
let obj = { name:`张学友`, age:60, sing:function () { //这里的函数是一个匿名函数 return document.write(`他来听我的演唱会`) }, suan:function (a,b) { return a + b } } document.write(obj.name) document.write(obj[`name`]) // 使用方法的时候,对象名.方法名() obj.sing() let result = obj.suan(1,2) document.write(result) // document.write(obj.sing())
我们平时使用变量和对象的属性有什么区别和相同
变量可以单独使用,对象的属性需要借助对象名访问,对象名.属性名
变量和属性都可以看作是储存东西的容器
函数 对象的方法 区别和相同
函数是可以单独使用的,对象的方法,需要借助对象来使用,对象名.方法
都是处理数据,封装代码使用的
遍历对象
使用for...变量in对象的名字{ 执行的代码 }
let obj = { name : `张三`, age : `18`, sex : `男` } for (const objKey in obj) { document.write(objKey) //得到里边键的名字 也就是得到的属性名 name age sex objkey是里边的所有的属性名 document.write(obj[objKey]) //得到里边的张三 18 男 是所有的属性值 }
遍历数组对象
let obj = [ {name:`1`,age:'2',sex:`3`,log:`4`}, {name:`1`,age:'2',sex:`3`,log:`4`}, {name:`1`,age:'2',sex:`3`,log:`4`}, {name:`1`,age:'2',sex:`3`,log:`4`}, {name:`1`,age:'2',sex:`3`,log:`4`}, ] for (let i = 0; i < obj.length; i++) { console.log(obj) //这里是遍历每个数组 console.log(obj[i]) //这里是遍历每个对象 console.log(obj[i].name) //这里遍历的是每一轮得到的名字 console.log(obj[i][`log`]) //这里遍历的是每一轮得到的log }
内置对象
console.log(`这就是一个封装好的对象`) //查文档 Math对象 js代码放心使用对象 console.log(Math) console.log(Math.PI) // 3.1415926 //方法Math.ceil()向上取整 console.log(Math.ceil(3.1)) //4 console.log(Math.ceil(3.01)) //4 //方法Math.floor()向下取整 console.log(Math.floor(3.09)) //3 //方法Math.round()四舍五入取整 -的.5是往大了取值 console.log(Math.round(3.4)) //3 console.log(Math.round(3.5)) //4 //方法Math.max()取一组数据中最大的值 console.log(Math.max(1,5,3,7,8,9,10)) //方法Math.min()取一组数据中最小的值 console.log(Math.min(1,5,3,7,8,9,10)) //Math.abs()绝对值 console.log(Math.abs(-888)) //888
//Math.random能取到0到1中间的随机小数 随机数从0-1随机小数大于0小于1 document.write(`${Math.random()}<br>`) //需求0-10之间的随机整数 document.write(`${Math.random() * 10}<br>`) //取到 0-9中间的随机小数 //配合向上向下取整,取出随机的整数 document.write(`${Math.floor(Math.random() * 10)}<br>`) //取到 0-9中间的随机数 document.write(`${Math.floor(Math.random() * 11)}<br>`) //取到 0-10中间的随机数 //取出数组中的随机字符串 let a = [`1`,`2`,`3`,`4`,`5`,`6`,`7`] document.write(`${a[0]} <br>`) //我们这里可以打印出来数组中对应索引的数值 let b = Math.floor(Math.random() * a.length) //b得到数组中的随机数,我们使用随机数充当数组的索引值 document.write(`${a[b]} <br>`) //b充当a的索引值
标签:内置,obj,name,对象,javascript,console,Math,log From: https://www.cnblogs.com/hgng/p/16888796.html