Less入门以及一些前端面试题

Less是什么?

Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。

因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展,这就是 Less 如此易学的原因之一。

如何安装?

对于初学者来说,不会用node来安装,可以直接在Visual Studio Code编辑器里下载Easy LESS插件。

装好了插件我们就可以写less代码了(当我们再Visual Studio Code装好插件时,保存时会自动生成一个css文件)
less的使用方法如图:
在这里插入图片描述

less变量赋值

        @Color : blue;
        @backgroundColor : pink; 
.box{
            color: @Color;
            background - color: @backgroundColor;
        }
.box1{
            color: @Color;
            background - color: @backgroundColor;
        }
.box2{
            color: @Color;
            background - color: @backgroundColor;
        }
.box3{
            color: @Color;
            background - color: @backgroundColor;
        }
.box4{
            color: @Color;
            background - color: @backgroundColor;
        }

当我们编写css样式的时候,如果需要大篇幅的使用相同的样式,这个时候我们就可以利用less的声明变量的方式来赋值,再将这个变量当做样式的值。而且当我们需要更改样式时,也只需要改变赋值的变量的值即可。!注意:声明变量时前面一定要加@符号!

less封装函数

less还可以像js一样的来封装函数,需要时可以直接调用。

.borderRadius(@px) {
    border - radius : @px;
}
.box5{
    .borderRadius(10px)
}

less与sass的异同

相同点:

sass和less都是Css的预处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等
加快了css开发效率,当然这两者都可以配合gulp和webpack等前端构建工具使用。

差异:

  1. less定义变量用“@”,saxx用“$”
/*less*/
 
@width:100px;
.box{
    width:@width;
}
 
/*sass*/
 
$变量名:值
$width:100px;
 
.box{
    width:$width;
}
 
如果变量包含字符串则写在 #{}之中
$c:color;
 
.box{
    border-#{$c}:red;
}
  1. 处理方式不同

Less和Sass的主要不同就是他们的实现方式。

Less是基于JavaScript,是在客户端处理的。
Sass是基于Ruby的,是在服务器端处理的。

面试题

原生js入口函数(window.onload)和jq的入口函数(( d o c u m e n t ) . r e a d y ( f u n c t i o n ( ) ) , (document).ready(function () {}),(document).ready(function()),(function () {}))有什么区别?

①执行时间不一样;原生js必须要等到页面上包括图片的所有元素加载完成之后才能执行;
jq是DOM结构绘制完毕后就会执行。
②编写个数不同;原生js不能同时写多个,如果写多个只会执行一个;
jq可以写多个,并且都可以执行。
③jq有简写,原生js不能简写。

ajax的优缺点:

优点:

①不用刷新就能更新数据(即局部更新);
②异步与服务器通信;
③前端和后端负载平衡;
④基于标准被广泛支持;
⑤界面与应用分离;
缺点:
①使浏览器的back(回退)和history(历史)功能失效;
②因为跨域,可能存在安全问题;
③对搜索引擎支持较弱;
④对移动端支持较差。
⑤客户端代码冗余。

闭包是什么,有什么缺点?

闭包:一个函数内部函数在作用域外部被访问,即将函数内部与函数外部建立关系的桥梁。
优点:
①避免造成全局污染,
②函数外部能够访问到函数内部的变量
缺点:
使用过多的闭包,可能会造成内存泄漏。!!闭包本身不是造成内存泄漏的原因。

说说你对this的理解?

this是一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
①作为纯粹的函数调用,this指向全局对象
②作为对象的方法调用,this指向调用对象
③作为构造函数被调用,this指向新的对象(new会改变this的指向)
④作为箭头函数被调用,this指向他外层父级作用域上下文。(即父级的运行环境)

事件委托原理,以及事件委托的好处?

事件委托:利用浏览器的冒泡机制,将子级元素的事件函数编写在父级元素上,以此实现来用父级管理子级集合的事件。
优点:
①可以大量节省内存占用,减少事件注册。
②新增子元素不需要再次绑定事件。

  • 13
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值