对象
对象是存储数据的集合 , 对象也可以存储多个数据单元 .
数组中 数据单元的编号是从0开始的连续整数.
对象中 数据单元的编号可以是数值, 可以是字符串.
定义对象
构造函数
var 变量 = new Object()
字面量
var 变量 = {}
对象中数据单元 以 键名:键值 / 属性:属性名 的语法形式存储
对象的操作语法
获取:
1, 对象.属性
点取值语法 不支持数字键名操作 如 1:100 不支持
点语法语法 不支持解析变量
对象.str 就是按照str作为键名从对象中获取数据
2, 对象['属性']
[]取值语法 支持数字键名操作
[]取值语法 支持 解析变量
对象[str] 就是 解析 str 变量中存储的数据 'age'
也就是 对象['age'] 获取对应的数据
获取指定的属性对应的属性值
修改:
1, 对象.属性 = 属性值
2, 对象['属性'] = 属性值
属性是已经存在的
新增:
1, 对象.属性 = 属性值
2, 对象['属性'] = 属性值
属性是不存在的
删除:
delete( 对象.属性 )
delete( 对象['属性'] )
delete 对象.属性
delete 对象['属性']
对象的循环
对象只用只能使用 for...in 循环遍历
<script>
// 创建一个对象
var obj = {name : '杨杨' , age : 20 , sex : '女'};
console.log(obj);
// 获取数据
var str = 'age';
console.log(obj.str); //输出结果: undefined
console.log(obj[str]); //输出结果: 20
// []语法先解析变量str 解析的结果是str变量中存储的数据数值 'age' , 也就是 obj[str] 解析之后的结果是 obj['age'] 获取的结果是 变量中存储的键名对应的键值20
obj['sex'] = '男';
console.log(obj); // 输出结果: {name: '杨杨', age: 20, sex: '男'}
obj['add'] = '北京';
console.log(obj); // 输出结果: {name: '杨杨', age: 20, sex: '男', add: '北京'}
delete(obj['name']);
delete obj['age'] ;
console.log(obj); // 输出结果: {sex: '男', add: '北京'}
</script>
Math对象
Math是JavaScript内置对象 , 所谓的内置对象就是JavaScript定义的对象 , 其中存储 数据和函数方法.
Math的属性属性值数据
Math.PI 圆周率
Math.SQRT2 根号2也就是2的平方根
Math的函数方法
Math.random() 随机数
Math.min() 最小值
Math.max() 最大值
Math.floor 向下取整 , 舍弃取整
Math.ceil 向上取整, 进一取整
以坐标轴为向上 向下 的取整
Math.round 四舍五入
Math.pow(底数, 指数) 幂运算/乘方运算
Math.pow(2,5);
Math.abs() 绝对值
Math.sqrt() 平方根