2018前端面试题2
笔试题
1.浏览器由 html 、 css 、 js 三个部分构成?
2.为确保所有h3元素不会放在左浮动元素的右边,可声明 h3{clear:both} ?
3.对于http://yrundata.com?q=1,location.search返回的是 ?q=1 ?
4.原生用document.getElementById(id).innerHTML 可以快速的给一个dom节点加一段html内容。
5.用 可以去除字符串var str="0121034034"的空格
var str = "0121034034";
var str1=str.replace(/0/g,"");
console.log(str1)
6.求foo[5]()=____________,foo[10]=__________________.
function Foo(){
var result=new Array();
for(var i=0;i<10;i++){
result[i]=function(){
return i;
}
}
return result;
}
var foo=Foo();
7.尝试将URL中参数转化为一个json对象,如“http://flup.leley.com?a=1&b=2&c=3”
转化为{
a:1,
b:2,
c:3}
function urlParams(url) {
var arr1 = url.split("?");
var params = arr1[1].split("&");//进行分割成数组
var obj = {};//声明对象
for (var i = 0; i < params.length; i++) {
var param = params[i].split("=");//进行分割成数组
obj[param[0]] = param[1];//为对象赋值
}
return obj;
}
console.log(urlParams("http://flup.leley.com?a=1&b=2&c=3"));
8.简述ecmascript中基本数据类型和引用数据类型的区别
1. 基本数据类型存放在栈内存,引用数据类型存放在堆内存
2. 基本数据类型可以用typeof检测,引用数据类型不可以;
3. 基本数据类型会预解释,引用数据类型不预解释
9.$(this)和this关键字有何不同?
this原生js关键字(谁调用就指向谁), $(this)是jq对象
10.用setTimeOut模拟setInterval
使用回调函数
var say = function () {
setTimeout(say, 1000)
console.log('hello world')
}
setTimeout(say, 1000)
11.纯css画三角形
.example{
width:0;
height: 0;
border-top:100px solid green;
border-left:50px solid transparent;
border-right: 50px solid transparent;
}
12.position:relative,absolute,fixed区别
position:relative相对于自身,
position:absolute相对于上个除position:static样式以外的元素
position:fixed相对于整个页面
面试题:
线程和进程
进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
优化网页:
1.使用雪碧图
2.压缩图片
3.减少闭包,减少注释
将元素移动并且是可见的:计算x,y坐标
vue实现父子组件通信:
https://blog.csdn.net/major_zhang/article/details/79116516
上一篇: 程序,该怎么处理