2022-02-22前端试题

1、js的数据类型有哪些?
数据类型分为基本数据类型,复杂数据类型
基本数据类型:Boolean(布尔型),String(字符串型),Number(数字型),Nul(空型),Undefined(未定义型)
复杂数据类型: Object(对象)

2、js中变量的三种定义方式,有什么区别
const: 设置常量
var:设置变量
let:块几作用于,设为变量

3、const obj = { name:’jack’ },这样定义一个obj的变量,那么能改变obj.name 吗?
可以, obj等于一个对象,对象是复杂类型,变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。

4.判断是否是数组
var obj = [];
Arrary.isArray(obj) IE8及以下不支持
Object.prototype.toString.call(obj) === '[object Array]'
obj instanceof Array
obj.constructor === Array

5、介绍一下promise
promise是用来表示一个异步操作的完成状态与结果
promise有待处理,接受,拒绝3种状态
promise的优缺点:
promise可以链式调用控制事件的执行顺序;可以使用catch捕捉到错误信息;可以避免回调地域

6、浅拷贝和深拷贝有什么区别,怎么去深拷贝
深拷贝:JSON.parse(JSON.stringfy(X));递归实现
浅拷贝:Object.assign();直接赋值;循环第一层

深拷贝递归地复制新对象中的所有值或属性,而浅拷贝只复制引用。
在深拷贝中,新对象中的更改不会影响原始对象,而在浅拷贝中,新对象中的更改,原始对象中也会跟着改。
在深拷贝中,原始对象不与新对象共享相同的属性,而在浅拷贝中,它们具有相同的属性。

 json.parse(json,stringfy())的弊端:深复制之后时间对象会变成字符串;正则对象,error对象会变成空对象;函数和undefined会丢失;
属性值为NAN的为变为null;

7、怎么删除数组第一个值
原数组长度改变:shift(), splice(start, length)
原数组长度不变: slice(start, end)

8、vue生命周期(组件)、keep-alive的用法

beforeCreate
created
beforeMounte
mounted
beforeUpdate
updated
beforeDestroy
destrored

当页面加入keep-alive缓存之后,进入A缓存页面 --> B不缓存页面 --> 再次进入A缓存页面
beforeCreate
created
beforeMounte                    A  
mounted
activated
deactivated
 ===》
beforeCreate
created
beforeMounte
mounted                            B
beforeUpdate
updated
beforeDestroy
destrored
===》
activated
deactivated                        A

9、两个div,A包含B,怎么做水平垂直居中,用flex布局怎么做
使用line-height
使用position定位

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>测试</title>
    <style>
        .className1 {
            width: 700px;
            height: 700px;
            margin: 0 auto;
            background-color: red;
            position: relative;
        }
        /* .className2 {
            width: 600px;
            height: 400px;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            background-color: rgb(98, 0, 255);
        } */
        
        .className2 {
            width: 600px;
            height: 400px;
            position: absolute;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            margin: auto;   /* 有了这个就自动居中了 */
            background-color: rgb(0, 255, 179);
        }
    </style>
</head>

<body>
    <div class="className1">
        <div class="className2"></div>
    </div>
</body>

</html>

10、组件之间通信该怎么做
props传值
vuex 全局传值

11、v-for和v-if能一起使用么

v-for和v-if不能一起使用,因为v-for会比v-if先执行。一个数组循环,它不会先执行v-if过滤数据,再循环,而是先执行循环再过滤数据,影响渲染速度

12、css3有哪些新特性
圆角(border-radius)
阴影(box-shadow)
线性渐变(linear-gradient)
2D转换(trasform)=>缩放(scale),倾斜(skew),平移(translate),旋转(rotate),matrix(旋转,缩放,平移,倾斜,n,n)
3D转换
背景(background-image,background-size,background-repeat, background-origin,background-position)
动画(@keyframes,animation)
过度(transition)
多列(column-count)
多媒体查询(@media)

13、盒模型(box-sizing)
IE盒模型(border-box):宽包括content,padding,border
W3C的标准盒模型(content-box):宽包括content

14、css选择符
id选择器(#myId)
类选择器(.myId)
伪类选择器(a:hover)
伪元素选择器(::before ::after)
标签选择器(p,div)
属性选择器(input[type="submit"])
相邻子元素选择器(ul>li)
相邻兄弟选择器(p+div)
兄弟选择器(li~a)
通配符选择器(*)

15、GET和POST的区别:
简单来说:GET产生一个TCP数据包,POST产生两个TCP数据包
严格的说:对于GET方式的请求,游览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST请求。游览器先发送header,服务器响应100 continue,游览器再发送data,服务器响应200 ok(返回数据)

16、HTTP、状态码:
200:成功
302:重定向
404:请求失败,请求希望得到的资源违背在服务器发现。(只要不是新手写的demo,一般404都是你路径写错了,或者未区分大小写啥的)
502:无效的响应(基本上就是Tomcat没启好)
400:请求没有进入到后台服务里(一般都是前端的锅)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...
    终身成长人格阅读 10,819评论 0 3
  • client,page和screen的区别? clientX,clientY是触摸点相对于viewport视口x,...
    change_22fa阅读 1,625评论 1 1
  • PNG 有PNG8和truecolor PNG PNG8类似GIF颜色上限为256,文件小,支持alpha透明度,...
    hudaren阅读 1,498评论 0 0
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,452评论 1 19
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,567评论 0 7