webAPI
2020-09-30 本文已影响0人
Shiki_思清
Object
- Object.entries()
Object.entries({foo: "1", bar: "2"}
// [Array(2), Array(2)]
// 0: (2) ["foo", "1"]
// 1: (2) ["bar", "2"]
- hasOwnProperty 对象自身属性中是否具有指定的属性
const object1 = {};
console.log(object1.hasOwnProperty('toString')); // false
-
Object.getPrototypeOf(obj) 返回指定对象的原型
-
Object.getOwnPropertyNames(obj) 返回不可枚举的字符串属性键+普通key
-
Object.keys(obj) 返回普通key
// *不可枚举的
function Person() {
this.name = "特性";
}
let person = new Person();
let firstName = Symbol();
person[firstName] = "symbolName";
Object.defineProperty(person, "sex", {
value: "cantEnumerable",
enumerable: false // 不可枚举的
});
Object.keys(person) // ["name"]
Object.getOwnPropertyNames(person) // ["name", "sex"]
Reflect.ownKeys(person) // ["name", "sex", Symbol()]
- Object
js
- split
"foo=1&bar=2".split("&").map(kv => kv.split("="))
//[Array(2), Array(2)]
// 0: (2) ["foo", "1"]
// 1: (2) ["bar", "2"]
- join
[George, John, Thomas].join('+') // 为空时,默认','连接
// George+John+Thomas
Reflect
- Reflect.ownKeys(obj) 返回symbol+不可枚举的字符串属性键+普通key
Document
-
append
与appendChild
的区别-
前者可以直接追加字符串为文本节点
-
前者支持追加多个参数, 后者只能追加一个
-
前者没有返回值, 后者返回追加进去的那个节点
-
与前者相同的还有 prepend()before(),after()
-
Element
-
scrollIntoView() 让当前的元素滚动到浏览器窗口的可视区域内。
-
getClientRects() 返回一个指向客户端中每一个盒子的边界矩形的矩形集合
-
getBoundingClientRect() 返回指定元素元素的大小及其相对于视口的位置
Geolocation
- getCurrentPosition() 获取设备当前位置