- 作者:老汪软件技巧
- 发表时间:2024-08-19 04:02
- 浏览量:
元素水平、垂直居中面试官首先问了如何实现元素的水平和垂直居中。
答:弹性布局
dislay: flex
align-items: center // 垂直居中
justify-content:center // 水平居中
相对定位
父: position:relative
子: position: absolute
top:50%;
left:50%;
transform:translate(-50%,-50%)
grid 布局
表格布局
单行/多行文字设置省略号接着,讨论了如何在单行和多行文字中设置省略号。
white-space: nowrap; // 不自动换行
overflow: hidden; //不滚动
text-overflow: ellipsis; // 省略的文本用省略号
display: -webkit-flex; // 弹性盒子
-webkit-box-orient: vertical; //垂直布局
-webkit-line-clamp: 3 // 最多展示3行
overflow;hidden;
text-overflow: ellipsis;
JavaScript 判断用户端设备然后,面试官询问了如何使用 JavaScript 判断用户端设备。
答:用户端设备是指:手机、电脑、ipad?
使用 navigator 对象。navigator 对象包含了浏览器的信息
function getBrowserType() { // 判断浏览器的
var userAgent = navigator.userAgent;
if (/MSIE|Trident/.test(userAgent)) {
return 'Internet Explorer';
} else if (/Edge/.test(userAgent)) {
return 'Microsoft Edge';
} else if (/Firefox/.test(userAgent)) {
return 'Firefox';
} else if (/Chrome/.test(userAgent) && /Google Inc/.test(navigator.vendor)) {
return 'Chrome';
} else if (/Safari/.test(userAgent) && /Apple Computer/.test(navigator.vendor)) {
return 'Safari';
} else if (/Opera/.test(userAgent)) {
return 'Opera';
}
return 'Unknown';
}
function isMobileDevice() { //判断移动设备的
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
// 判断是否包含特定的移动标识
if (/windows phone/i.test(userAgent)) {
return true;
}
if (/android/i.test(userAgent)) {
return true;
}
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
return true;
}
if (/BlackBerry/i.test(userAgent)) {
return true;
}
if (/IEMobile/i.test(userAgent)) {
return true;
}
// 其他可能的移动设备
return false;
}
TypeScript 中 type 和 interface 的区别面试官问了 TypeScript 中 type 和 interface 的区别。
答:ts 的 type 是什么 忘记了 后面学习了在补充
TypeScript 如何定义联合类型讨论了在 TypeScript 中如何定义联合类型。
答:联合类型使用竖线(|)分隔每个类型。?是可选类型
深入 TypeScript 场景题面试官给出了一些 TypeScript 的场景题,要求深入分析。
React 相关问题面试官问我是否熟悉 React,并提出了一些相关问题。
项目难点面试官让我分享在项目中遇到的难点及解决方案。
路由懒加载及其原理讨论了路由懒加载的实现及其原理。
/czj10495616…
路由懒加载做了什么事情?
将对应的组件打包成一个一个 js 块只有在这个路由被访问到的时候才会去加载对应的组件
路由懒加载实现的方式
vue 异步加载技术
1:vue-router 配置路由,使用 vue 的异步组件技术,可以实现懒加载,此时一个组件会生成一个 js 文件。2:component: resolve => require(['放入需要加载的路由地址'], resolve)
path: '/problem',
name: 'problem',
component: resolve => require(['../pages/home/problemList'], resolve)
}
import
const Foo = () => import('../components/Foo')
const Aoo = () => import('../components/Aoo')
require
const HelloWorld=resolve=>{
require.ensure(['@/components/HelloWorld'],()=>{
resolve(require('@/components/HelloWorld'))
})
}
实现的原理
还是跟 webpack 打包有关系,还要在学习一下
页面性能差,如何定位面试官问了如果页面性能差,如何进行定位。
答:
使用开发者工具录制资源加载的时间
network 请求的时间
分析有没有特别大的图片
深入性能优化场景题面试官给出了一些性能优化的场景题,要求深入分析。
深入分页优化场景题最后,面试官提出了一些分页优化的场景题,要求详细解答。