1、对象是什么?
对象是一种数据类型 无序的数据的集合
2、对象的特点?
无序的数据的集合 可以详细的描述描述某个事物
3、语法:
属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔 多个属性之间使用英文 , 分隔 属性就是依附在对象上的变量(外面是变量,对象内是属性) 属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
let 对象名 = {
属性名:属性值,
属性名:属性值,
...
方法名:function () {
}
};
let person = {
name:'andy',
age:18
}
4、对象使用
1、属性访问
let goods1 = {
name:'华为',
price:2000,
size:'折叠'
}
let goods2 = {
name: '苹果',
price:6000,
size:'水果'
}
// 访问 对象中的属性 有两种方式
// 1.对象.属性名
console.log(`商品名为${goods1.name},价格为${goods1.price},尺寸为${goods1.size}`);
// 2.对象['属性名']
console.log(`商品名为${goods2['name']},价格为${goods2['price']},尺寸为${goods2['size']}`);
2、方法使用
// 定义一个对象
let person = {
name:'andy', // 属性
sayHi: function (msg) { // 方法
document.write(msg);
return '我是person的方法的返回值'
}
}
// 方法的本质就是一个函数
// 方法也可接收参数,也有返回值
// 使用方法
person.sayHi('你好<br>');
person.sayHi('我好<br>');
person.sayHi('大家好<br>');
let result = person.sayHi('看看是什么');
console.log(result); // 我是person的方法的返回值
5、操作对象
一、增
对象添加新的数据
对象名.新属性名 = 新值
二、删
删除对象中属性
delete 对象名.属性名
三、改
重新赋值
对象.属性 = 值 对象.方法 = function() {}
四、查
查询对象
对象.属性 或者 对象[‘属性’] 对象.方法()
6、遍历对象
对象没有像数组一样的length属性,所以无法确定长度 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标
使用for in遍历对象
k 是获得对象的属性名, 对象名[k] 是获得 属性值
let person = {
name:'鸣人',
age:20,
height:180
}
// 语法:
/* for (let k in obj) {
console.log(k); // 属性名
console.log(obj[k]); // 属性值
} */
for (let k in person) {
/* console.log(k);
console.log(person[k]); */
console.log(`属性名是:${k},属性值是:${person[k]}`);
}
7、内置对象
JavaScript内部提供的对象,包含各种属性和方法给开发者调用
内置对象Math
Math.random():生成0-1之间的随机数(包含0不包括1)
console.log(Math.random());
//生成一个N~M的随机数
function getRandom(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
console.log(getRandom(1, 10));
Math.ceil():向上取整
console.log(Math.ceil(0.1)); // 1
Math.floor():向下取整
console.log(Math.floor(1.9)); // 1
Math.max():找最大数
console.log(Math.max(1,4,5435,234)); // 5435
Math.min():找最小数
console.log(Math.min(43,432,52,123,45)); // 43
Math.pow():幂运算
// 幂运算 Math.pow(n,m) n 的 m次幂
console.log(Math.pow(2,3)); // 8 2 的 3次幂
console.log(Math.pow(3,4)); // 81 3 的 4 次幂
Math.abs():绝对值
console.log(Math.abs(-11));// 11