对象
对象是什么?
对象是一种数据类型,无序数据的集合
特点:
无序数据的集合.可以详细的描述某个事物
对象的使用
对象的属性
属性的访问
<script>
let goods = {
name:'小米手机',
price:1999,
size:'大'
}
//访问某一个属性
console.log(goods.name);
console.log(goods["name"]);
document.write(`商品的名称是:${goods.name},商品的价格是${goods.price},商品的型号是${goods.size}`)
document.write(`商品的名称是:${goods["name"]},商品的价格是${goods["price"]},商品的型号是${goods["size"]}`)
</script>
对象的方法
方法的访问
<script>
let person = {
name:'andy',
sayHi: function (msg) {
document.write(msg)
return'来自person的问候'
}
}
person.sayHi('大家好<br>')
person.sayHi('你好<br>')
let result = person.sayHi('hello123')
console.log('========');
console.log(result);
</script>
操作对象
增加和改动
<script>
let person = {}
//新加一个属性
person.username='普通人'
console.log(person.username);
let person1 = {
username : '程序员'
}
//修改一个属性
person1.username='普通人'
console.log(person1.username);
//增加属性和修改属性是同样的写法
//该属性对象中没有,表示新增
//该属性对象中有,表示修改
//新增方法
let person2 = {}
//新增方法.匿名函数.固定写法
person2.sayHi = function () {
document.write('这个是我们新增的sayHi方法')
}
person2.sayHi()//调用方法
</script>
删除
<script>
let person = {
usename:"海贼王"
}
delete person.usename//删除对象中的属性
console.log(person.usename);//undefined
</script>
对象打印的情况(细节)
<script>
let username = 'color'
let person = {
username: '海贼王',
color: 'yellow',
}
console.log(person.username);//固定用户海贼王
console.log(person["username"]);//海贼王
console.log(person[username]);//括号里没有冒号表示一个变量黄色
console.log(person['color']);//黄色
console.log(person[color]);//报错,color是一个变量,没有这个变量
console.log(person.safgaf );//undefined
</script>
遍历对象for in
对象没有像数组一样的length属性,所以无法确定长度
对象里面是无序的健值对,没有规律,不像数组里面有规律的下标
<script>
let obj = {
uname:'andy',
age:18,
sex:'男'
}
for (let key in obj) {
console.log(key);//key属性名
console.log(obj[key]);//obj[key]属性值
}
</script>
一般不用这种方式遍历数组.主要是用来遍历对象
一定记住:key是获的对象的属性名,对象名[key]是获得属性值
内置对象Math
常用
随机数 Math.random()返回0~1 包含0不包含1
向上取整Math.ceil()天花板函数
向下取整Math.floor()地板函数
四舍五入Math.round()
幂运算Math.pow(数值,指数)例Math.pow(2,3)2的立方
绝对值Math.abs()
数据类型
基本数据类型也叫值类型,存储在栈
引用数据类型,复杂类型,存储在堆里
区别
swithch-case
类似if没有if好用
<script>
//还是if更好用,这个不能写大于小于号,比较局限
let num = +prompt('请输入数字')
switch (num) {//(判断谁)
case 1: //如果是1
console.log('大喵')//执行
break; //结束
case 2: //如果是2
console.log('二面' );//执行
break //结束
case 3: //如果3
console.log('三');//执行
break //结束
default: //都不是
console.log('结束');//执行
break; //结束
}
</script>
do while
类似while,但是不管条件是否成立都会执行一次do中的代码
<script>
// 就算while里面的条件不成立,do里面也会运行一次再结束
let num = 0
do {
num++
console.log(num);
} while (false);
</script>