闭包函数面试题

1:  闭包函数: 函数内部总是可以访问其所在外部函数中声明的参数和变量, 即使在其外部函数被返回之后。
    参数和变量不会被垃圾回收机制收回。
2:  this 的指向问题
    this的指向问题,  call/apply/bind,  回调函数问题

    1: 一般函数:this 的指向就是全局对象window.
    2: 在严格模式下"use strict",为undefined.
    3: 对象的方法里调用,this指向调用该方法的对象. 【this指的是,调用函数的那个对象】
    4: 构造函数中的this 指向创建出来的实例对象
    5: call(), apply()  bind() 方法改变运行时指向, 当第一个参数为null 或者 undefine的时候, 指向window全局对象
    6: call() 方法 传入参数列表, 改变函数指向并且立即调用, 第一个参数同apply,第二个参数必须是单个参数列表,不能是数组
    7: 可以传入数组,第一个参数:要绑定给this的值 第二个参数:参数列表(可以是数组)
    8: bind:改变this指向后,返回的是函数

    数组的常用操作:
    数组的常用操作:  push();  pop(); shift();  unshift() 方法
    
3:  instanceof 原理以及与typeof的区别:
   3.1:  typeof 原理
   typeof的作用:用来判断数据类型。 可以用来判断string,number,boolean,function,object,symbol,undefined这些数据类型。 但是不能判断出那种数据类型的object 的数据类型。

  var a=[1,2,3];
  console.log(typeof a);//object

4: Object.prototype.toString.call(A):  也可以用来判断A的数据类型。

  ES6 的基本语法:
  Es6 的基本语法不包含DOM和BOM的定义, 只是涵盖基本数据, 关键词, 语句, 运算符, 内建对象, 内建函数等通用语法。

4.1: let 声明变量 作用域不同
 {
   var a = 0;  // var 声明的变量是全局变量;
   let b = 0;  // let 声明的变量是局部变量;
 }
  
 4.2: 声明的次数不同
 // var 可以声明多次
 // let 只可以声明一次
 var m = 1;  var m = 2; let n = 3;  let = 4;  // 使用let声明的变量 已经声明过多次, 不可以重复声明变量

 5: 声明和使用顺序:
    // var 声明的变量会全局存储
    // let 声明的变量只可以在执行后存储
 未完断续.....

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值