博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《你不知道的javascript上卷》读书笔记(kyle simpson 著,赵望野、梁译)
阅读量:4607 次
发布时间:2019-06-09

本文共 1469 字,大约阅读时间需要 4 分钟。

一、关于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);/*所有属性含不可枚举的*/

 

转载于:https://www.cnblogs.com/miaSlady/p/9576455.html

你可能感兴趣的文章
exceptionfunction[LeetCode]Permutations
查看>>
Linux(2)_常用命令2
查看>>
自定义分页
查看>>
[转]DELPHI——调试(1)
查看>>
JS秒数转成分秒时间格式
查看>>
xp_cmdshell 命令的开启与关闭,和状态查询
查看>>
Linux sudoers
查看>>
MySQL详解(18)-----------分页方法总结
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>
js时间转换
查看>>
(转载) Android Studio你不知道的调试技巧
查看>>
POJ2231 Moo Volume 递推 C语言
查看>>
struts2类型转换的具体流程
查看>>
Hdu 1203 I NEED A OFFER!
查看>>
php文件上传类
查看>>
CF219D Choosing Capital for Treeland
查看>>
luogu P3809 【模板】后缀排序
查看>>
Matlab画图-非常具体,非常全面
查看>>
365. Water and Jug Problem
查看>>