前端面试题总结一

1、css样式
display:none;元素隐藏不占位;
visibility:hidden 元素隐藏占位;
2、js实现阶乘
function jie(n){
if(n<1){
return 1;
}else{
return n*jie(n-1);
}
}
3、数组去重
思路:创建一个新数组,遍历之前的数组,调用新数组的indexOf()方法,如果返回-1则说明新数组中不存在此值,push到新数组中,否则不做操作。

var arr=[1,5,3,4,3,1,2];
var newArr=[];
for(var i = 0; i < arr.length; i++){
    if(newArr.indexOf(arr[i])==-1){
        newArr.push(arr[i]);
    }
}

4、用css实现一个三角形。(思路:将其他三个方向的颜色设为透明)

div{
    width:0px;
    height:0px;
    border-width:20px;
    border-style:solid;
    border-color:transparent transparent red transparent;
}

5、谈谈你对html语义化的理解
用正确的标签做正确的事。html语义化让页面的内容结构更加结构化、更加清晰,便于浏览器、搜索引擎解析。
搜索引擎的爬虫也依赖于html标记来确定上下文和各个关键字的权重,利于SEO。
使阅读网站源代码的人更容易对网站分块,便于理解。
6、jquery相对于原生js有哪些优势?
jquery简化了js编程,它提出“写的更少,做的更多”的理念。
原生js获取标签要写getElementsById(),而jquery有很多选择器,直接$(”)就行了;
jquery的链式操作也可以极大的减少代码量;
可以兼容不同的浏览器,提供了很多插件(比如easyui),极大的提高了开发效率。

猜你喜欢

转载自blog.csdn.net/zhang070514/article/details/77532349