1.css预处理sass,less是什么,为什么使用

  • 1、Less环境较Sass简单
    Cass的安装需要安装Ruby环境,Less基于JavaScript,是需要引入Less.js来处理代码输出css到浏览器,也可以在开发环节使用Less,然后编译成css文件,直接放在项目中,有less.app、SimpleLess、CodeKit.app这样的工具,也有在线编辑地址。
  • 2、Less使用较Sass简单
    LESS并没有裁剪CSS原有的特性,而是在现有CSS语法的基础上,为CSS加入程序式语言的特性。只要你了解CSS基础就可以很容易上手。
  • 3、从功能出发,Sass较Less略强大一些
    ① sass有变量和作用域。
    -jQuery - 图1variable}likeruby;
    -变量有全局和局部之分,并且有优先级。
    ② sass有函数的概念;
    -@function和@return以及函数参数(还有不定参)可以让你像js开发那样封装你想要的逻辑。
    -@mixin类似function但缺少像function的编程逻辑,更多的是提高css代码段的复用性和模块化,这个用的人也是最多的。
    -ruby提供了非常丰富的内置原生api。
    ③ 进程控制:
    -条件:@if@else;
    -循环遍历:@for@each@while
    -继承:@extend
    -引用:@import
    ④ 数据结构:

list类型=数组
map类型=object;
其余的也有string、number、function等类型

  • 4、Less与Sass处理机制不一样
    前者是通过客户端处理的,后者是通过服务端处理,相比较之下前者解析会比后者慢一点。
  • 5、关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$。

2.js中call()和apply()区别

每个函数都包含两个非继承而来的方法:call()和apply();
在JavaScript中,call和apply作用是一样的,都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部this的指向

call在函数定义的时候直接执行

  • 可以一个一个去传参

apply在函数定义的时候执行

  • 需要以一个数组的方式去传参

    3.为什么会造成跨域/简述同源策略

    4.请输出三种减少页面加载时间的方式

    5.This指向

    6.什么是jsonp,工作原理是什么?他为什么你不是真正的ajax

    7.数组去重的方式

    8.深浅拷贝是什么,如何实现

    9.为什么js是弱类型语言

    10.怎么转换less为css

    11.echarts使用最多的是什么

    12.for循环和map循环有什么区别

    13.请写出一个简单的类与继承

    14.同步与异步的区别,阻塞与非阻塞区别

    15.重绘与回流是什么

    16.http协议和https区别

    17.http是什么,有什么特点

    18.原型和继承,prototype,call,apply继承的区别

    19.箭头函数和普通函数的区别

    20.什么是js内存泄漏

    21.你如何对网站的文件和资源进行优化

    22.请简述ajax的执行过程,以及常见的HTTP状态码

    23.预加载和懒加载的区别,预加载在什么时候加载合适

    24.jquery选择器有那些

    25.jquery插入节点的方法

    26.js的函数节流和函数防抖的区别

    27.Get和post不同

    28.什么是csrf攻击

    29.什么时候用深拷贝/浅拷贝