面试二

本文详细介绍了JavaScript中的Less和Sass的区别,包括实现方式、变量定义、解析方式和作用域等。接着讨论了div的垂直水平居中方法,以及如何使用JS计算页面中特定元素的数量。此外,文章探讨了深拷贝和浅拷贝的概念,并提供了实现深拷贝的方法。还对比了substr、substring和slice的用法。最后,重点讲解了ES6的新特性,如Set去重、Class、Promise、let、const、模板字符串、箭头函数、函数默认值、数组解构等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.less与sass的区别
实现方式:less是基于js,是在客户端进行处理的,sass是基于Ruby,是在服务端进行处理的
定义变量:less定义变量时使用前缀@ ; sass使用$
解析方式:less可以向上、下解析;sass只能向上解析
作用域:less变量有全局与局部之分;sass变量可以理解为全局,可以通过在变量后面加!default,在引入sass文件之前改变变量的属性值来解决该问题
sass中增加了条件语句与循环语句
2.div垂直水平居中
margin:auto:实现绝对定位元素的居中
transform:translate(-50% , -50%)
display:flex
父盒子设置display:table、vertical-align:middle

left:0
right:0
top:0
bottom:0
margin:auto
position:absolute

position:absolute
left:50%;
top:50%;
transform:translate(-50% , -50%)

display:flex;
align-item:center;
justify-content:center

// 父盒子 display:table、vertical-align:middle
// 子元素:display:inline-block

3.使用js计算出页面中有多少个div、span???
4.深拷贝与浅拷贝区别,怎么实现深拷贝
案例:将b复制a,如果改变a的值,b跟着改变就是浅拷贝,反之就是深拷贝(需要在堆中开辟一个新的内存存放b的值)
深拷贝:json.parse、json.stringfy、$.extend
浅拷贝:object.assign
5.substr、sbustring、slice区别
substr:substr(start,length)
substring:substring(start,end) 截取到前一个字符
slice:
slice(start,end)截取到前一个字符
slice()复制整个数组 返回一个新的数组
6.es6的新特性
set(数组去重:…new Set(arr))
class:es6新增的语法糖的写法,其实跟普通的构造函数本质上没有区别
promise
let、const
模板字符串
箭头函数
函数默认值
数组解构

const gemstone = {
  type: 'quartz',
  color: 'rose',
  karat: 21.29
};
const {type, color, karat} = gemstone;
console.log(type, color, karat);

7.实现数组去重
写下es6的吧

 Array.from(new Set(arr))
 ...new Set(arr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值