webAPI

作者: Shiki_思清 | 来源:发表于2020-09-30 11:44 被阅读0次

Object

  1. Object.entries()
Object.entries({foo: "1", bar: "2"}

// [Array(2), Array(2)]
//  0: (2) ["foo", "1"]
//  1: (2) ["bar", "2"]
  1. hasOwnProperty 对象自身属性中是否具有指定的属性
const object1 = {};
console.log(object1.hasOwnProperty('toString')); // false
  1. Object.getPrototypeOf(obj) 返回指定对象的原型

  2. Object.getOwnPropertyNames(obj) 返回不可枚举的字符串属性键+普通key

  3. 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()]
  1. 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

  • appendappendChild的区别

    1. 前者可以直接追加字符串为文本节点

    2. 前者支持追加多个参数, 后者只能追加一个

    3. 前者没有返回值, 后者返回追加进去的那个节点

    4. 前者相同的还有 prepend()before(),after()

Element

  • scrollIntoView() 让当前的元素滚动到浏览器窗口的可视区域内。

  • getClientRects() 返回一个指向客户端中每一个盒子的边界矩形的矩形集合

  • getBoundingClientRect() 返回指定元素元素的大小及其相对于视口的位置

Geolocation

  • getCurrentPosition() 获取设备当前位置

https://zhuanlan.zhihu.com/p/80366959

相关文章

网友评论

      本文标题:webAPI

      本文链接:https://www.haomeiwen.com/subject/kyyuuktx.html