面试题JavaScript篇(四)
创始人
2025-05-29 06:51:33
0

一、设计模式

1、发布-订阅模式

vue响应式原理就涉及到发布-订阅模式

(1)是什么

(2)手写 

见=》JavaScript手写题_Kw_Chng的博客-CSDN博客

二、块级作用域

可以嵌套多层,每一层块级作用域都不受其他作用域的影响

内层作用域可以定义外层作用域的同名变量

在块级作用域中,匿名立即执行函数表达式(匿名 IIFE)不再必要了

对于ES6的浏览器,函数声明类似于var,即会提升到全局作用域或函数作用域的头部,函数声明还会提升到所在的块级作用域的头部。其他环境中,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。考虑到环境导致的行为差异太大,应该避免在块级作用域内声明函数。如果确实需要,也应该写成函数表达式,而不是函数声明语句。

三、ES6声明变量的方法

6种,ES5中的var命令和function命令。ES6 除了添加let命令const命令、import命令、class命令。

四、顶层对象globalThis

任何环境下,globalThis都是存在的,都可以从它拿到顶层对象,指向全局环境下的this

五、解构赋值

解构赋值允许等号左边的模式之中,不放置任何变量名

变量的解构赋值:

  • “模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值
  • 解构不成功,变量的值就等于undefined
  • 不完全解构,即等号左边的模式,只匹配一部分的等号右边的数组。这种情况下,解构依然可以成功。
  • 如果等号的右边不是数组(不是可遍历的结构,转为对象以后不具备 Iterator 接口,或本身就不具备 Iterator 接口),那么将会报错。
  • 允许指定默认值

对象的解构赋值:

  • 对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
  • 解构失败,变量的值等于undefined
  • 可以将现有对象的方法,赋值到某个变量
  • 对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。
  • 由于数组本质是特殊的对象,因此可以对数组进行对象属性的解构

字符串的解构赋值:

  • 字符串被转换成了一个类似数组的对象,可以当成是数组的解构赋值
  • 类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值

数值和布尔值的解构赋值:

  • 解构赋值时,如果等号右边是数值和布尔值,则会先转为对象,利用Number.prototype.toString或Boolean.prototype.toString

函数参数的解构赋值:

  • 对于传入的数组形式的参数,在传入参数的那一刻,数组参数就被解构成对应的变量
  • 函数参数的解构也可以使用默认值

圆括号:

如果要将一个已经声明的变量用于解构赋值,将整个解构赋值语句,放在一个圆括号里面,就可以正确执行。声明变量不可使用圆括号,函数参数解构也不能带圆括号,赋值语句也不可带圆括号

结构变量的用途:

  • 交换变量的值
  • 从函数返回多个值:函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便
  • 将一组参数与变量名对应起来
  • 提取 JSON 数据
  • 指定函数参数的默认值
  • 遍历 Map 结构
  • 输入模块的指定方法

相关内容

热门资讯

股市必读:紫光股份(00093... 截至2025年7月25日收盘,紫光股份(000938)报收于25.04元,上涨0.64%,换手率1....
15%!美国与欧盟达成贸易协议... 据央视新闻报道,当地时间7月27日,美国总统特朗普表示,美国已与欧盟达成贸易协议,对欧盟输美商品征收...
早新闻|央行4000亿元MLF... 宏观热点 央行、农业农村部印发《关于加强金融服务农村改革 推进乡村全面振兴的意见》 近日,中国人...
21专访|细胞存储,《繁花》爷... 21世纪经济报道记者 赵云帆 上海报道 “我是一个真正意义上的创业者”,年过古稀的瞿建国,在采访中如...
华熙生物赵燕谈胶原蛋白乱象:科... 21世纪经济报道记者雷晨 北京报道 近年来,重组胶原蛋白成为医美和护肤领域的热门概念,市场宣传中不乏...
富春染织完成董事会选举换届 开... 7月25日晚间,富春染织公告显示,当日,公司2025年第一次临时股东会和富春染织第四届第一次董事会在...
圣湘生物:两款产品取得医疗器械... 每经AI快讯,圣湘生物(SH 688289,收盘价:22.94元)7月27日晚间发布公告称,圣湘生物...
10年期国债收益率升至1.73... 近期债券市场出现显著调整,多重因素交织推动收益率持续上行。权益市场强势表现与大宗商品价格上涨形成合力...
当对手都在做下沉 蜜雪冰城旗下... [ 今年5月,蜜雪集团跟巴西签署40亿元人民币的采购意向大单,其中大多数是咖啡豆。 ] 当星巴克、瑞...
新手必看!股指期货交易规则基础... 股指期货交易规则,看似复杂抽象,实则与我们的日常生活有着奇妙的共通之处。它就像一场精心编排的生活交响...
王登发履新茅台技开公司“一把手... 一则微信公众号发布的信息,披露了茅台集团旗下的技术开发公司“一把手”已换人。 近日,南都湾财社-酒水...
特斯拉机器人V3量产版亮相!马... 快科技7月27日消息,特斯拉的Optimus人形机器人V3量产版终于要来了!马斯克在最近的财报电话会...
原创 中... 在金融全球化的浪潮中,中国资本市场始终勇立潮头,不断探索前行。7月26日,中国资本市场学会成立大会暨...
报告:我国经济增长保持韧性 下... 央广网北京7月27日消息(记者 樊瑞)近日,中国金融四十人论坛(CF40论坛)发布《2025年第二季...
超6300亿元!A股银行“分红... 7月25日,成都银行完成权益分派股权登记,将于7月28日发放现金红利,这标志着A股上市银行2024年...
老铺黄金:2025年上半年单个... 7月27日晚,老铺黄金(HK06181)披露2025年中期业绩预告。预计2025年上半年实现销售业绩...
保险行业2025年上半年回顾与... 今天分享的是:保险行业2025年上半年回顾与未来展望 报告共计:59页 2025年上半年保险行业回顾...
数币App上新!消费者、商户两... 数字人民币试点持续推进,相关数字钱包手机应用程序功能也在优化中。7月21日,北京商报记者注意到,日前...
A股热点迭出,个股连续涨停!资... 近段时间以来A股市场整体走势较为强劲,上周以来在雅江概念集体上行的推动下涨势更为明显,主要指数不同程...
原创 印... 令人惊讶的是,印度人开始反思自身制造业的发展状况。印度经济学家帕纳加利亚指出,印度原本有机会在20年...