zoukankan      html  css  js  c++  java
  • 前端笔试题(一)

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

    /*数组去重*/
    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

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

  • 相关阅读:
    在controller的action内, 得到用户发过来的请求地址和参数url
    php Connection timed out after 30000 milliseconds
    htmlspecialchars_decode 解决掉 &amp;
    max_spare_servers到底是个什么意思?
    mysql 不同条件count ,多条件count()
    阿里云centOS7.4 ftp连接不上的问题
    阿里云 导入自定义的镜像
    thinkphp3.2.3 + nginx 配置二级域名
    FlashFXP客户端 FTP连接,连接很慢的情况,
    PHP对象的使用,什么时候可以用中括号[], 什么时候可以用箭头->
  • 原文地址:https://www.cnblogs.com/fanyz/p/6739279.html
Copyright © 2011-2022 走看看