前端面试题

本文详细解析了JavaScript中的`new`操作符的工作原理,`null`与`undefined`的区别,变量提升的概念,以及`map`和`forEach`的区别。此外,还介绍了多种实现未知宽高元素水平垂直居中的方法,包括使用定位、弹性布局、网格布局和表格布局等。
摘要由CSDN通过智能技术生成

1.说一说new会发生什么?

        得分点:创建空对象、为对象添加属性、把新对象当作this的上下文、箭头函数不能作为构造函数

        标准回答:`new` 关键字会进行如下的操作:

                1. 创建一个空的简单JavaScript对象(即`{}`);

                2. 为步骤1新创建的对象添加属性`__proto__`,将该属性链接至构造函数的原型对象 ;

                3. 将步骤1新创建的对象作为`this`的上下文 ;

                4. 如果该函数没有返回对象,则返回`this`。

2.说一说null 和 undefined 的区别,如何让一个属性变为null?

        得分点:操作的变量没有被赋值

                       全局对象的一个属性

                       函数没有return返回值

                       值 `null` 特指对象的值未设置 undefined == null

        标准回答:undefined通过typeof判断类型是'undefined'。null通过typeof判断类型是'object'。

undefind 是全局对象的一个属性,当一个变量没有被赋值或者一个函数没有返回值或者某个对象不存在某个属性却去访问或者函数定义了形参但没有传递实参,这时候都是unde

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值