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