前端面试题---有点意思

1.对于http://a.com?q=1 ,window.location.search返回的是 ?
答案:?q=1
这里写图片描述
2.为确保所有h3元素不会放在左浮动元素的右边,可声明 h3?
h3{clear:both;}

3.尝试将URL中参数转化为一个json对象,如“http://a.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")); 

4.简述ECMAScript中基本数据类型和引用数据类型的区别:

  1. 基本数据类型存放在栈内存,引用数据类型存放在堆内存
  2. 基本数据类型可以用typeOf检测,引用数据类型不可以;
  3. 基本数据类型会预解释,引用数据类型不预解释

4.纯css画三角形:这里写图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .example{
            width:0;
            height: 0;
            border-top:100px solid green;
            border-left:50px solid transparent;
            border-right: 50px solid transparent;
        }
    </style>
</head>
<body>
<div class="example"></div>
</body>
</html>

5.当前一段代码输出结果是什么?

var z = 10;
function foo(){
   console.log(z);
}
(function(funArg){
   var z = 20;
   funArg();
})(foo);

答案:10
这个其实还是考察函数的作用域和闭包的知识,因为foo函数是在一个自执行匿名函数里调用,在这里面声明的变量其实在函数foo体并不会访问到,所以在去找爸爸,全局声明的z,即输出 10

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值