对象

对象是某个特定引用类型的实例,是引用类型的值。引用类型是一种数据结构,用于将数据和功能组织在一起,描述的是一类对象所具有的属性和方法。对象的属性名可以包含非字母非数字的(例如空格),对象类型的值可以存储任意类型的属性。

创建

对象直接量

对象直接量是由若干个名/值对组成的映射表,属性名是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

更多Math方法

参考