zoukankan      html  css  js  c++  java
  • 《你不知道的javascript上卷》读书笔记(kyle simpson 著,赵望野、梁译)

    一、关于this篇:

    1.this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用

    2.this优先级:new>显示绑定>隐式绑定>默认绑定。

    3.如果把null或undefined作为this的绑定对象传入call、apply或者bind,这些值在调用时会被忽略,实际应用的是默认绑定规则

    eg:

    function foo(){
      console.log(this.a);
    }

    var a=2;

    foo,bind(null);  //2

    4.将arguments(类数组)变为数组

    (1)Array.prototype.slice.apply(arguments)     或   [].slice.apply(arguments)  或  new Array().slice.apply(arguments)

    (2)es6扩展运算符...

    function foo(...arg){
    console.log(arg);
    }


    foo.apply(null,[155,2,3,4,56,7]);   或    foo(155,2,3,4,56,7)
    二、对象篇

    1.对象深拷贝与浅拷贝

    (1)浅拷贝(还是引用obj对象)

    obj={name:'min'}

    obj2=Object.assign({},obj)

    (2)深拷贝(完完全全复制)

    obj={name:'min'}

    obj2=Object.assign({},JSON.parse(JSON.stringify(obj)))

    2.对象属性描述

    var myObj={};

    Object.defineProperty(myObj,"a",{

      value:2,

      writable:true,

      configurable:true,

      enumerable:true

    });

    不变:

    (1)对象常量(不可修改、重定义、删除)

    var myObj={};

    Object.defineProperty(myObj,"a",{

      value:2,

      writable:false,

      configurable:false

    });

    (2)禁止扩展

    var myObj={a:2};

    Object.preventExtensions(myObj);

    myObj.a=3;  

    myObj.a;    //undefined (严格模式下:TypeError)

    (3)密封(禁止扩展基础上加:configurable:false(不可重配、不可删除))  Object.seal(myObj)

    (4)冻结(密封基础上加:writerble:false)Object.freeze(myObj);

    3.对象的set和get

    4.检查对象中属性是否存在

    eg:obj={a:2}

    (1)"a" in obj;/*检查属性“a”是否在obj的对象或是原型链上*/

    (2)obj.hasOwnProperty("a");  /*只检查"a"是否在obj对象上(不含原型链)*/

    (3)obj.propertyIsEnumerable("a");/*检查“a”是否在obj对象上(不含原型链)且满足 enumerable=true*/

    (4)Object.keys(obj);/*obj所有可枚举属性*/

    (5)Object.getOwnPropertyNames(obj);/*所有属性含不可枚举的*/

  • 相关阅读:
    OSPF协议 LSAs
    OSPF协议基础
    交换机Access Trunk Hybrid端口
    网络地址转换 NAT
    访问控制列表 ACL
    路由协议 RIP
    动态路由协议
    static 变量
    Unix网络编程 -- ubuntu下搭建编译环境( 解决unp.h 编译等问题)
    linux 错误处理
  • 原文地址:https://www.cnblogs.com/miaSlady/p/9576455.html
Copyright © 2011-2022 走看看