笔试题
1.什么是闭包
通过下面的文章, 算是理解了何为闭包,但何时应用到实际开发中?这个没法把握,实际开发没用到,只能从理论中去理解,到面试时就变成了死记硬背。没办法,先拿起敲门砖进入下一回合再说吧。
闭包的最好的理解就是:函数内部变量(局部变量)可以被外部读取的函数,称为闭包。
我个人理解:
- 闭包:函数返回另一个函数的引用,该引用使用了父函数的局部变量,该局部变量可以一直在内存中被使用。
- 好处:就不用使用全局变量了,避免出现全局污染情况。
http://www.softwhy.com/article-8879-1.html 仔细阅读这篇,能理解闭包
https://www.cnblogs.com/apple-p/p/8360880.html 这个讲的比较详细
https://blog.csdn.net/sinat_30961847/article/details/83819775 所谓的全局污染
https://segmentfault.com/a/1190000003465766 全局变量污染 使用命名空间
2.输出li下标
https://blog.csdn.net/wuqiongqiong_/article/details/78045428
https://www.cnblogs.com/lfvkit/p/9766182.html
<body>
<ul>
<li>蚂蚁部落一</li>
<li>蚂蚁部落二</li>
<li>蚂蚁部落三</li>
</ul>
</body>
<script>
window.onload=function(){
var aLi=document.getElementsByTagName('li');
for (var i = 0; i < aLi.length; i++) {
(function (i) {
aLi[i].onclick = function () {
alert(i);
};
})(i);
}
}
</script>
3.块级元素、行内元素、空元素
块级元素:p段落 div ul li dl dt dd h1-h6 blockquote
行内元素:a b strong span img input textarea button select label em
空元素:br hr meta img input link (没有内容的HTML元素被称为空元素)
参考 https://www.cnblogs.com/Aaxuan/p/6094463.html
4.如何判断对象/元素是undefined
if (typeof (obj) == "undefined") {
//等于 undefined
}
if (obj === undefined) {
//等于 undefined
}
5.数组去重
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>indexOf</title>
</head>
<body>
</body>
<script>
window.onload = function () {
var arr1 = [1, 2, 3, 2, 4];
var arr2 = unique1(arr1);
console.log(JSON.stringify(arr2));
}
function unique1(arr1) {
var hash = [];
for (let i = 0; i < arr1.length; i++) {
if (hash.indexOf(arr1[i]) == -1) {
hash.push(arr1[i]);
}
}
return hash;
}
</script>
</html>
6.vuex
vue的状态管理工具。学习vuex还没用到,不知道。决定面试时放弃vue。
7.this题
忘记什么内容了。直接去了解一下this的准确用法。
似懂非懂 https://blog.csdn.net/weixin_40890907/article/details/82724822
8.通过id获得对应的值啥的
要求
1.前端组件化思想 https://blog.csdn.net/kkkkkxiaofei/article/details/793842192
2.scss、less https://www.cnblogs.com/lzy666/p/7336994.html 这篇文章后半页介绍了gulp[ɡʌlp]工具,放着后续学习。
3.gulp简介与简单使用 https://blog.csdn.net/heshuaicsdn/article/details/78926401
4.面向对象编程思想
5.ESLint规范,一种代码规范检查工具,可以自定义检查的规范。 官网 https://cn.eslint.org/
6.webpack https://blog.csdn.net/zhaokei/article/details/90643368 (自己整理的)
其他面试题
1.css浮动 https://blog.csdn.net/zhaokei/article/details/90647160 (自己整理的)
2.2018最新Web前端经典面试试题及答案-史上最全前端面试题(含答案) https://blog.csdn.net/xm1037782843/article/details/80708533
3.position四个值 https://blog.csdn.net/u011686226/article/details/52288734
- relative:相对自身的margin左上角定位
- absolute:相对父元素(父元素需有position:relative/absolute)的padding左上角(父元素需设置了margin、padding、border)进行定位或body进行定位
- fixed:相对页面body
- static:默认值,正常的文档流排列。
4.挺好的一套题 https://yukwan.cn/fronttech/front-end/
daoyi
1.promise
2.node.js
3. ie 盒子模型和标准 w3c 盒子模型区别
4.vue生命周期
5.阻止元素发生默认的行为 preventDefault()
6.js实现轮播图
7.下拉选onchange()
8.如何优化前端性能