zoukankan      html  css  js  c++  java
  • web前端开发面试题(附答案)-3

    1、用纯css创建一个三角形的原理:

    .demo{
    0;
    height: 0;
    border: 5px solid transparent;
    border-left-color: red;
    }

    2、为什么要初始化css样式

    不同的浏览器堆标签的默认值是不同的,如果没有对css初始化往往会出现浏览器之间的页面显示差异。
    不建议使用*{padding:0;margin:0;}

    3、解释为何要清除浮动?清除浮动的方式

    1)、给父级div定义高度
    2)、常规使用class
    .clearfix::before, .clearfix::after{
    content:"";
    display:table;
    }
    .clearfix::after{
    clear:both;
    }
    .clearfix{
    *zoom:1; //ie浏览器的专有属性,设置或者检索对象的缩放比例
    }
    3)、sass编译的时候,浮动元素的父级div定义伪类:after
    &::after, &::before{
    content: "";
    visibility: hidden;
    display:block; //使生成的元素以块级元素显示,占满剩余空间
    height:0;
    clear:both; //避免生成内容破坏原有布局高度
    }

    4、display:none和visiblity:hidden的区别

    display:none会让元素完全从渲染树消失,渲染的时候不占据任何空间;visibility:hidden不会让元素从渲染树消失,渲染时元素继续占据空间,内容不可见。

    5、js的数据类型:

    undefined、null、string、boolean、number、symbol(es6)、object(引用数据类型)

    6、什么是闭包?有什么作用

    内部函数在外部被调用的时候产生闭包,只有闭包才可以实现在外部调用和改变内部函数的属性
    如果内部的函数被保存到外部,它一定生成闭包。常用于事件处理程序和回调。
    缺点:闭包会导致原有作用域链不释放,造成内存泄漏
    作用:

    • 实现公有变量:函数累加器
    • 可以做缓存:存储结构
    • 可以实现封装,属性私有化
    • 模块化开发,防止污染全局变量

    7、简述cookie:

    cookie是web浏览器存储的少量数据。cookie数据会自动在浏览器和服务器之间传输。
    cookie默认有效期为浏览器会话,一旦用户关闭浏览器,数据就丢失,通过设置 >
    max-age = seconds属性设置浏览器cookie的有效期。
    cookie属性有名、值、max-age、path、domain、secure

    8、js有哪些方法定义对象

    • 对象字面量:var obj = { }
    • 构造函数:var obj = new Object();
    • Object.create(): var obj = Object.create(Object.prototype);

    9、函数内部arguments变量有哪些特性,如何将它转化为数组

    • arguments是一个对应于传递给函数的参数的类数组对象
    • arguments对象是所有(非箭头)函数中都可用的局部变量
    • arguments.length本次函数调用时传入函数的实参数量
      //定义一个可以加任意个数字的函数
      function adder(base, /*, n2, ... */) {
      base = Number(base);
      for (var i = 0; i < arguments.length; i++) {
      base += Number(arguments[i]);
      }
      return base;
      }
    • arguments.callee 属性包含当前正在执行的函数(使用这个属性进行递归调用时需注意 this 的变化)
    • 转换为数组:var args = Array.prototype.slice.call(arguments, 0);

    10、call和apply的作用和区别

    call/apply可以改变函数运行时this指向,两者的区别是传参列表不同。

    • call 需要把实参按照形参的个数传进去(就是实参个数==形参个数)
    • apply 需要传一个arguments 实参列表
  • 相关阅读:
    如何成为一个合格的数据架构师?
    证道:零售企业如何借助数据智能提升人效?| 数智加速度10课回顾
    终于,数据中台成为3000万企业的增长引擎
    凯德中国 × 阿里云 × 奇点云 | 沉淀数据资产,遇见数智未来
    追风:数据中台如何驱动全域消费者运营?| 数智加速度09课回顾
    何夕:跟上趋势,拥抱全域数据中台 | 数智加速度08课回顾
    南弈:释放数据价值的「三个关键点」 | 数智加速度07课回顾
    百然:智能算法如何落地商业化?| 数智加速度06课回顾
    星魁:管理数据资产的「五步骤」与「六要素」 | 数智加速度05课回顾
    pytest系列(四)- pytest+allure+jenkins
  • 原文地址:https://www.cnblogs.com/meijiang/p/11588725.html
Copyright © 2011-2022 走看看