每日面试题

Q:怎么判断一个字符串是不是回文字符串?
A:

function isPlalindrome(str){
  if(typeof str!== 'string') return false;
  return str.split('').reverse().join('') === str;
}
var str = "123454321";
if(isPlalindrome(str)){
	console.log(str,"是回文字符串");
}else{
	console.log(str,"不是回文字符串");
}

Q:两种以上方式实现已知或者未知宽度的垂直水平居中。
A:
(1)定位 + margin-left 和 margin-top 的方式(已知 child 的宽高)

.parent{
	position:relative;
}
.child{
	position:absolute;
	top:50%;
	left:50%;
	width:100px;
	height:100px;
	margin-left:-50px;
	margin-right:-50px;
}

(2)定位+transform

.parent{
	position:relative;
}
.child{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

(3)flex布局

.parent{
	display:flex;
	justify-content:center;
	align-items:center;
}
.box{
	width:100px;
	height:100px;
	border:1px solid #ccc;
	margin-right:10px;
}

Q:什么是事件流?
A:事件流分为两种:捕获事件流和冒泡事件流。
捕获事件流从根节点开始,一直往子节点查找执行,直到查找执行到目标节点。
冒泡事件流从目标节点开始执行,一直往父节点冒泡查询执行,直到查到根节点。
DOM事件流分为三个阶段,一个是捕获阶段,一个是处于目标节点阶段,一个是冒泡阶段。

Q:什么是事件委托机制?
A:https://blog.csdn.net/weixin_39111384/article/details/109453818

Q:手写一个promise
A:
https://www.jianshu.com/p/1eea8ce8c7a5

一、promise的简单介绍

什么是Promise

Promise 是一个对象,用来传递异步操作的消息。它代表了某个未来才知道结果的事情(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步的处理。

Promise 的作用

promise 的主要作用是能够解决 JS 多层次回调代码难以理解和维护的问题,把嵌套回调写成看起来是平行的代码。

Promise的出现主要是解决地狱回调的问题。
地狱回调: 比如结果需要请求很多接口,并且这些接口的参数需要另外接口返回的数据作为依赖,这样就需要我们一层嵌套一层,形成了地狱回调。

Promise 的本质

Promise的本质是分离了异步数据和业务逻辑。

基本的API
Promise.resolve() // 异步操作成功
Promise.reject()  // 异步操作失败
Promise.prororype.then()
Promise.prototype.catch()
Promise.all() //所有的完成
Promise.all([p1,p2,p3])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值