欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端面试题总结

程序员文章站 2022-06-09 11:09:11
...
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    //面试题:
    // 1.
    var z = 10;
           function foo(){
                console.log(z);//10 foo函数在外边定义的  那个时候z取值应该是最外层的那个z=10;
            }
           (function(funArg){
                var z = 20;
                funArg();
            })(foo);
    // 2.
       console.log('第二题的开始:');
       var data = [];
        for(var k = 0; k < 3; k++){
                data[k] = function(){
                    console.log(k);
                };
        }
        data[0]();//3 执行函数的时候已经是循环执行完之后啦,k=3的时候啦!
        data[1]();//3
        data[2]();//3
        // 3.请问三行 a,b,c 输出分别是什么?
         console.log('第三题的开始:');
         function fun(n,o){
            console.log(o)
            return{
                fun:function(m){
                    return fun(m,n);
                }
            };
         }
    var a = fun(0); a.fun(1); a.fun(2); a.fun(3);//undefined/0/0/0
    var b = fun(0).fun(1).fun(2).fun(3);//undefined/0/1/2  
    var c = fun(0).fun(1);c.fun(2);c.fun(3);//undefined/0/1/1
    // 4.问,输出分别为什么?
    console.log('第4题的开始:');
     var a = 100;
    function testResult(){
            var b = 2 * a;//NaN  NaN=2/undefined外边也声明啦 里面也声明  里面的变量提升都函数的最上面 赋值还是在下面
            var a = 200;
            var c = a / 2;//100
            alert(b);
            alert(c);
    }
    testResult();
    // 5.问,输出分别为什么?
    console.log('第5题的开始:');
    var tt = "MR_LP -->  QQ :3206064928";
    function test(){
            alert(tt);//undefined
            var tt = "*";
            alert(tt);//*
    }
    test();
// 6.实现数组翻转用算法时间 数组的 reverse()方法
var arr1=[1,2,3,4,5,6,7,8,9,10];
function sum(arr){
    var stop=parseInt((arr.length-1)/2);
   for(let i=0;i<=(arr.length-1);i++){
       let a=arr[i];
       arr[i]=arr[arr.length-1-i];
       arr[arr.length-1-i]=a;
       if(i>=stop){
           return arr1
       }
   }
}
console.log(sum(arr1));
//7.数组求和
var arr2=[1,2,3,4,5,6,7,8,9,10];
var sum=0;
for(let i=0;i<arr2.length;i++){
    if(typeof arr2[i]=='number'){
        sum+=arr2[i];
    }
}
console.log(sum);
</script>

2.单行显示文字超出省略号,多行超出省略号

单行:

          {
            width: 300px;
            overflow: hidden;/*超出部分隐藏*/
            white-space: nowrap;/*不换行*/
            text-overflow:ellipsis;/*超出部分文字以...显示*/
          } 

显示多行,超出省略号 :

overflow: hidden;
text-overflow: ellipsis;
display:-webkit-box; //作为弹性伸缩盒子模型显示。
-webkit-box-orient:vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列
-webkit-line-clamp:2; //显示的行