对象
对象是某个特定引用类型的实例,是引用类型的值。引用类型是一种数据结构,用于将数据和功能组织在一起,描述的是一类对象所具有的属性和方法。对象的属性名可以包含非字母非数字的(例如空格),对象类型的值可以存储任意类型的属性。
创建
对象直接量
对象直接量是由若干个名/值对组成的映射表,属性名是JS标识符也可以是空字符串,属性值可以是任意类型的JS表达式。
var obj = {
a: 1,
b: 2
}
new
关键字 new 后跟随一个函数调用,这个函数称为构造函数,用以初始化一个新的创建对象。
var func = function(){ ... }
var obj = new func();
Object.create()
Object.create() 可以通过任意原型创建新对象。
var obj = { a: 1, b: 2 };
var newobj = Object.create(obj);
console.log(obj,obj.a); // {},1
读取
点 ( . )
var obj = { a:1, b:2 };
obj.a; // 1
中括号 ( [] )
当动态key的时候,或者把key为变量的时候使用
var obj = { a:1, b:2 };
var key = 'a';
obj[key]; // 1
obj['b']; // 2
赋值
为对象创建一个新属性并且赋值时候,需要用到( [ ] )符号。
var obj = { a:1, b:2 };
obj.a = '11';
obj['c'] = 3;
操作
Object.keys(obj)
Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。
var arr = ['a', 'b', 'c'];
var obj = { a: 1, b: 2 };
var akeys = Object.keys(arr); // ['0', '1', '2']
var okeys = Object.keys(obj); // ['a','b']
Object.values(obj)
Object.values()返回一个数组,其元素是在对象上找到的可枚举属性值。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。
var arr = ['a', 'b', 'c'];
var obj = { a: 1, b: 2 };
var akeys = Object.values(arr); // ['a', 'b', 'c']
var okeys = Object.values(obj); // [1, 2]
内置对象
JS 的内置对象有 Data、Math、Array、String、Number、Boolean、RegExp,他们都包含自己特有的方法
Date
var date = new Date() // 返回当日的日期和时间
date.getDay() // 返回一周中的第几天(0-6)
date.getFullYear() // 返回完整的4位年份数
date.getMonth() // 返回月份数(0-11)
date.getDate() // 返回日(1-31)
date.getHours() // 返回小时数(0-23)
Math
Math 对象保存数学公式和信息,常用的有:
- Math.PI ( π 的值 )
- Math.ceil (向上舍入)
- Math.floor (向下舍入)
- Math.round (四舍五入)
- Math.random (返回大于等于0小于1的随机数)
Math.PI //3.141592653589793
Math.ceil(4.3) // 5
Math.floor(4.6) // 4
Math.round(4.5) // 5
Math.random() // 0.5892502788505454