• 前端笔试题(一)


    最近看到许多前端攻城师被面试题所困,分享一些自己解决的东西,还望笑纳!

    /*数组去重*/
    Array.prototype.unique1 = function(){
    var res = [this[0]];
    for(var i = 1; i < this.length; i++){
    var repeat = false;
    for(var j = 0; j < res.length; j++){
    if(this[i] == res[j]){
    repeat = true;
    break;
    }
    }
    if(!repeat){
    res.push(this[i]);
    }
    }
    return res;
    }
    var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]
    alert(arr.unique1());

    /*翻转字符串*/

    方法一:
    var str = "abcdef"
    alert(str.split("").reverse().join(""))

    方法二:
    var str="abcdef"
    var i=str.length;
    i=i-1;
    for (var x = i; x >=0; x--)
    {
    document.write(str.charAt(x));
    }
    方法三:
    function reverse(str)
    {
    if(str.length == 0)return null;
    var i = str.length;
    var dstr = "";
    while(--i >= 0)
    {
    dstr += str.charAt(i);
    }
    return dstr;
    }
    var str = "abcdef";
    str = reverse(str);
    alert(str);


    /*获取数组中的最大值*/

    var arr = [1,'范',4,3,50,9,5,0,-1,7,22];
    var index = 0;
    for(var x = 0; x < arr.length; x++){
      if(arr[index] < arr[x]){
        index = x;
      }
    }
    document.write("索引为" + index + "中的" + arr[index] + "最大");

    /*阻止事件冒泡*/


    function stopBubble(e){
       //如果传入事件对象且支持W3C的stopPropagation的用法
       if(e && e.stopPropagation){
       //即为非IE浏览器
       e.stopPropagation();
       }else{
       //IE方式取消事件冒泡
       window.event.cancelBubble=true;
    }


    /*水平垂直居中*/

    方法1:
      父级{
        position:relative;
      }
      子集{
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
      }
    方法二:
      父级{
        display:flex;
        justify-content:center;
        align-items:center;
      }
    方法三(兼容):
      .parent{
        text-align:center;
        display:table-cell;
        vertical-align:middle;
      }
      .child{
        display:inline-block;
      }

    /*JavaScript数据类型*/

    基本数据类型:
      undefined,null,boolean,number,string
    复杂数据类型:
      object
    检测数据类型:
      typeof

    /*  =、==和===的区别  */

      = 赋值运算符
      == 等于,比较值
      === 严格等于,比较值和数据类型

    /*javascript闭包*/

    我的理解是:闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部
    的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以,在
    本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

    /*javascript如何检测一个变量为array类型*/

    var arr = [1,2,3,1];
    alert(arr instanceof Array); // true

    var arr = [1,2,3,1];
    alert(arr.constructor === Array); // true

    希望这些东西会帮到大家!

  • 相关阅读:
    linux 免密登录
    mysql 重置从库
    elasticsearch原理及简介
    多线程编程--心得
    为什么我们做分布式使用Redis?
    JAVA-JVM调优
    JAVA-JVM调优标志
    Spirng-Mvc之Servlet篇
    Agent Job代理 执行SSIS Package
    Python之爬虫的理解
  • 原文地址:https://www.cnblogs.com/fanyz/p/6739279.html
Copyright © 2020-2023  润新知