## JS对象
### **Date**
先列一下常用的方法
```
# 实例化
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
# 获取指定日期的年份
getFullYear()
# 获取指定日期的月份,从`0`的值(0表示一年中的第一月)
getMonth()
# 获取指定日期的第几日
getDate()
# 获取指定日期的小时
getHours()
# 获取指定日期的分钟
getMinutes()
# 获取指定日期的秒数
getSeconds()
# 获取指定日期属于一周的第几天,周日 = `0`(0 - 6)
getDay()
# 获取指定日期的毫秒数
getMilliseconds()
# 返回一个时间的格林威治时间数值(本地会自动帮助计算时区)
getTime()
# 方法返回一个`Date`对象的原始值,等同于`getTime()`
valueOf()
```
我们工作中常见的`Date`对象相关的操作,很多是需要把时间转换为字符串进行展示;
- 日期转字符串
- 时间戳转字符串
### **String**
```
# 返回指定位置的字符,从`0`开始,默认为`0`
str.charAt()
# 多个字符串与原字符串连接合并,形成一个新的字符串并返回。
str.concat(string2, string3[, ..., stringN])
# 判断字符串是否是以一个给定的子字符串“结尾”,返回`true`或`false`
# `length` 可选,作为`str`的长度。默认值为`str.length`
str.endsWith(searchString[, length])
# 判断一个字符串是否包含另一个字符串,返回`true`或`false`(区分大小写)
# `position`可选,从字符串的固定位置开始查找字符串,默认值为`0`
str.includes(searchString[, position])
# 查找字符串第一次出现的索引,未找到则返回`-1`
# `fromIndex`可选, 表示开始查找的位置,默认值为`0`
str.indexOf(searchValue [, fromIndex])
# 用一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度,从当前字符串的末尾(右侧)开始填充
str.padEnd(targetLength [, padString])
# 用另一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度,填充从当前字符串的开始(左侧)应用的
str.padStart(targetLength [, padString])
# 方法返回一个由替换值(`replacement`)替换一些或所有匹配的模式(`pattern`)后的新字符串。模式可以是一个`字符串`或者一个`正则表达式`,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
str.replace(regexp|substr, newSubStr|function)
# 提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
str.slice(beginIndex[, endIndex])
#方法使用指定的分隔符字符串将一个`String`对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
str.split([separator[, limit]])
# 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回`true`或`false`。
str.startsWith(searchString[, position])
# 返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。
str.substring(indexStart[, indexEnd])
# 一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR等)。
str.trim()
# 字符串值转为小写形式,并返回
str.toLowerCase()
# 字符串值转为大写形式,并返回
str.toUpperCase()
* 当 `引用字符串` 在 `比较字符串` 前面时返回 -1
* 当 `引用字符串` 在 `比较字符串` 后面时返回 1
* 相同位置时返回 0
referenceStr.localeCompare(compareString[, locales[, options]])
```
### **Math**
```
# 返回指定数字 “x“ 的绝对值
Math.abs(x);
# 返回大于或等于一个给定数字的最小整数。
Math.ceil(x)
# 向下取整,返回小于或等于一个给定数字的最大整数。
Math.floor(x)
# 返回一个浮点, 伪随机数在范围从`0`到小于`1` [0, 1)
Math.random()
# 返回一个数字四舍五入后的整数
Math.round(x)
# 函数返回一组数中的最大值
Math.max(value1[,value2, ...])
# 函数返回一组数中的最小值
Math.min(value1[,value2, ...])
# 将数字的小数部分去掉,只保留整数部分
Math.trunc(value)
```
### **Array**
[MDN - Array](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/length)
### **Number**
```
# 判断给定的参数是否为整数
Number.isInteger(value)
# 判断给定的参数是否为NaN
Number.isNaN(value)
# 把一个字符串解析成浮点数
Number.parseFloat(string)
# 把字符串 解析成整数
Number.parseInt(string[, radix])
# 使用定点表示法来格式化一个数值,四舍五入
numObj.toFixed(digits)
```
### **Object**
```
# 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
Object.assign(target, ...sources)
# 创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。
Object.create(proto[, propertiesObject])
# 方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
Object.defineProperties(obj, props)
# 直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
Object.defineProperty(obj, prop, descriptor)
`configurable`
当且仅当该属性的`configurable`键值为`true`时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除。
默认为`false`。
`enumerable`
当且仅当该属性的`enumerable`键值为`true`时,该属性才会出现在对象的枚举属性中。
默认为`false`。
数据描述符还具有以下可选键值:
`value`
该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。
默认为[`undefined`]。
`writable`
当且仅当该属性的`writable`键值为`true`时,属性的值,也就是上面的`value`,才能被[`赋值运算符`]改变。
默认为`false`。
存取描述符还具有以下可选键值:
`get`
属性的 getter 函数,如果没有 getter,则为`undefined`。当访问该属性时,会调用此函数。执行时不传入任何参数,但是会传入`this`对象(由于继承关系,这里的`this`并不一定是定义该属性的对象)。该函数的返回值会被用作属性的值。
默认为[`undefined`]。
`set`
属性的 setter 函数,如果没有 setter,则为`undefined`。当属性值被修改时,会调用此函数。该方法接受一个参数(也就是被赋予的新值),会传入赋值时的`this`对象。
默认为[`undefined`]。
# 返回一个给定对象自身可枚举属性的键值对组成的数组
Object.entries(obj)
# 把键值对列表转换为一个对象
Object.fromEntries(iterable)
# 返回一个给定对象自身的所有可枚举属性组成的数组
Object.keys(obj)
# 返回一个给定对象自身的所有可枚举属性值组成的数组
Object.values(obj)
# 对象自身属性中是否具有指定的属性, 返回布尔值
obj.hasOwnProperty(prop)
# 用于测试一个对象是否存在于另一个对象的原型链上
prototypeObj.isPrototypeOf(object)
```
- 版本控制之Git简介
- Git工作流程
- Git工作区、暂存区、版本库
- Git 指令汇总
- Git 忽略文件规则 .gitignore
- pull request
- HTTP简介
- HTTP - Keep-Alive
- HTTP缓存
- XMLHttpRequest
- Fetch
- 跨域
- HTTP 消息头
- TCP/IP
- TCP首部
- IP首部
- IP 协议
- TCP/IP漫画
- 前端开发规范
- 前端开发规范整理
- 前端未来规划
- HTML思维导图
- CSS思维导图
- 布局
- position,float,display的关系和优先级
- line-height、height、font-size
- 移动端适配
- JS 对象
- JS 原型模式 - 创建对象
- JS 预编译
- 探索JS引擎
- ES