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

.demo{
width: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 实参列表

最新文章

  1. 实用图像处理入门 - 2 - Windows平台下编译openCV
  2. what linux java cpu 100% ?
  3. 在VNC中Xfce4中Tab键失效的解决方法
  4. 移动Web单页应用开发实践——页面结构化
  5. Asp.Net MVC4新特性指南(1): 基本介绍
  6. C#socket通讯两个最经典错误解决方案
  7. redis函数总结
  8. AMD &amp;&amp; CMD
  9. Python基础——条件判断
  10. ubuntu在终端下复制粘贴的2种方法
  11. 水晶报表Crystal 无效索引
  12. vue初始化页面dom操纵 $nextTick
  13. Java学习笔记之linux配置java环境变量(三种环境变量)
  14. 循序渐进学.Net Core Web Api开发系列【1】:开发环境
  15. 基于php,点亮代码生成技能树
  16. 【JUC源码解析】ConcurrentLinkedQueue
  17. Linux服务器上ftp的搭建和使用
  18. weex 初始化
  19. win7 linux双系统删除linux
  20. unity3d世界坐标系和本地坐标系

热门文章

  1. PythonI/O进阶学习笔记_3.2面向对象编程_python的继承(多继承/super/MRO/抽象基类/mixin模式)
  2. “adobe premiere中画面和声音不同步” 解决方法
  3. 文件系统【图片处理】(基于thumbnailator)典藏版-壹
  4. Java8 日期 API 业务使用
  5. jasypt
  6. c#中的委托01
  7. CodeForces 1107 F Vasya and Endless Credits
  8. codeforces 735C. Tennis Championship(贪心)
  9. 【原创】(三)Linux paging_init解析
  10. 牛客网暑期ACM多校训练营(第三场)---A.PACM Team