前端实战面试题(三)

  1. 哪些操作会引起浏览器的重绘和重排?
    如果DOM变化仅仅影响的了visibility、outline、背景色等等非几何属性,此时就发生了重绘(repaint),因为布局没有发生改变。
    以下这些操作,页面初始渲染、添加/删除可见DOM元素、改变元素位置、改变元素尺寸(宽、高、内外边距、边框等、改变元素内容(文本或图片等、改变窗口尺寸)会产生重排。
  2. 比较一下opacity;0;visibility:hidden,display:none;优劣与适用场景
    display: none (不占空间,不能点击)(场景,显示出原来这里不存在的结构)
    visibility: hidden(占据空间,不能点击)(场景:显示不会导致页面结构发生变动,不会撑开)
    opacity: 0(占据空间,可以点击)(场景:可以跟transition搭配、自定义图片上传按钮)
  3. delete和Vue.delete删除数组的区别
    delete 只是被删除的元素变成了empty/undefined 其他的元素键值还是不变。Vue.delete直接删除了数组改变了数组的键值。
  4. 实现对数组【109,4,2,29,15,22】的排序,要求结果【109,15,2,22,29,4】?
var arr=[109,4,2,29,15,22]
arr.sort();
console.log(arr);// [109, 15, 2, 22, 29, 4]
  1. 实现对字符串AbcDef大小写反转,即将AbcDef=>aBCdEF?
 var str ='AbcDef'
 console.log(str);
 var newStr = str.split('');
 for (var i = 0; i < newStr.length; i++) {
 if (newStr[i] >= 'A' && newStr[i] <= 'Z') {
 newStr[i] = newStr[i].toLowerCase()//转换成小写
 } else if (newStr[i] >= 'a' && newStr[i] <= 'z') {//字母是小写的时候
 newStr[i] = newStr[i].toUpperCase();//转换成大写
 }	
 }
console.log(newStr);//转换后的数组         
console.log(newStr.join(''));//最后把数组中的元素拼接起来
  1. 请简单解释他们?JSONP、Restful、XSS、CSRF、Promise。
    JSONP:(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
    Restful:是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
    XSS:全称是Cross Site Scripting即跨站脚本攻击,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。
    CSRF:跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
    Promise:Promise 是一个对象,对象里存储一个状态,这个状态是可以随着内部的执行转化的,为以下三种状态之一:等待态(Pending)、完成态(Fulfilled)、拒绝态(Rejected)。
    1、主要用于异步计算
    2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
    3、可以在对象之间传递和操作promise,帮助我们处理队列
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值