前端一面基础知识 ②——作用域和闭包(面试场景题)

本文整理了前端面试中常见的作用域和闭包相关问题,包括闭包场景题、this、call、bind的使用,以及class、原型和作用域面试场景等。此外,还涉及类型判断、深拷贝、数组检测、JQuery实现、this的应用和bind的实现。通过实例和应用场景,帮助读者深入理解并掌握这些基础概念。
摘要由CSDN通过智能技术生成

前言

    根据慕课网的《快速搞定前端技术一面 匹配大厂面试要求》课程所整理的题目,陆续更新

常考面试题

场景题

    先直接看一下下面这些基础面试场景题,你都会写吗?场景题的答案请拖动下方滚动条,然后查看注释参考对比自己的答案哦

①闭包场景题一
		function print(fn) {
   
            const a = 200
            fn()
        }
        // 函数作为参数被传递
        
        const a = 100

        function fn() {
   
            console.log(a) // 在定义的地方往上查找,找到外面全局定义的 a 变量,所以是打印 100
        }

        print(fn)
         																			             // 100
②闭包场景题二
		function create() {
   
            const a = 100
            return function () {
   
                console.log(a)
            }
        }
        // 函数作为返回值

        const fn = create()
        const a = 200
        fn()
         																			           // 打印 100 
③this、call、bind
		function fn1() {
   
            console.log(this)
        }

        fn1()  																			        // window

        fn1.call(  {
    x:100 }  ) // call直接就改变指向执行
		 																			              // {x:100}
        const fn2 = fn1.bind(  {
    x:200 }  ) // 返回一个新的函数执行,所以需要赋值
        fn2()
         																			              // {x:200}
④this无箭头
	const zhangsan = {
   
            name: '张三',
            sayHi(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值