浅拷贝.深拷贝.闭包

递归

递归,就是在运行的过程中不断地调用自己。递归有两个过程,简单地说一个是递的过程,一个是归的过程。

闭包

闭包就是 能够读取其他函数内部变量的函数

  1. 工厂函数是什么?
    1. 工厂函数是用于创建对象的一个函数。这些内建函数都是类对象,调用时实际上是创建了一个类实例,也就是先利用类创建一个对象,然后返回这个对象,创建的函数都拥有相同的属性。
    2. 它是一个函数。
    3. 它用来创建对象。

它像工厂一样,“生产”出来的函数都是“标准件”

数组

unshift 添加到数组第一个     shift删除数组第一个 

pop删除数组最后一个   push添加 数组最后一个

concat拼接     slice截取

 reverse反转  sort排序  

splice是替换和删除 。插入(start,length,item)下标 长度 替换

字符串

substring (start,end)用于提取字符串中两个指定下标之间的字符

substr(start,length) 在字符串中抽取从 start 下标开始的指定数目的字符。

indexof 从数组的(0下标)开始找

lastindexof 从数组的最后一位开始找

回顾:

  1. Js 更改this指向的三种方法
    1. call 方法
      • 语法:函数名.call(调用者, 参数1, …)
      • 作用:函数被借用时,会立即执行,并且函数体内的this会指向借用者或调用者
    2. apply方法
      • 语法:函数名.apply(调用者, [参数, …])
      • 作用:函数被借用时,会立即执行,并且函数体内的this会指向借用者或调用者
    3. bind方法
      • 语法:函数名.bind(调用者, 参数, …)
      • 作用:函数被借用时,不会立即执行,而是返回一个新的函数。需要自己手动调用新的函数来改变this指向
    4. 总结:
      • 相同点: 三者都可以把一个函数应用到其他对象身上,注意不是自身对象
      • 不同点:
        1.  call,apply是直接执行函数调用。bind是绑定,执行需要再次调用。

call,bind接收逗号分隔的无限个参数列表;apply接收数组作为参数。

检测数据类型

typeof :

        检测简单数据类型 不能检测复杂数据类型   

        用于null是返回的是object

        function返回的是function

object.prototype.tostring.call

        可以检测任何数据类型

instanceof 

        只能检测复杂数据类型

constructor

        判断构造函数

this指向

普通函数  匿名函数  立即执行函数  回调函数  都是指向 window

箭头函数 是函数定义位置上下文this

对象下的的函数 谁调用,就指向谁

dom回调  绑定事件

总结 

this总是指向函数的直接调用者

如果有new关键字,this指向new出来的呢个对象

在事件中,this指向目标元素,特殊的IE的attachEvent中的this总是指向全局对象的window

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值