scss 用法 及 es6 用法讲解
scss 用法的准备工作,下载 考拉 编译工具 且目录的名字一定不能出现中文,哪里都不能出现中文,否则就会报错
es6 用法
let 和 const
let 声明变量的方式 在 {} 代码块里面才有效;且在相同的代码块,不能声明两个相同的变量名,一旦出了这个{} 代码块 ,此变量无效
const 声明常量的方式 声明完毕后,我们不能轻易的更改声明的常量,(但不代表我们不能更改,只是更改,还不如不用他声明)
字符串介绍:
传统的字符串拼接的方式,麻烦且容易出错,所以我们的 es6 提供了一种新的 字符串拼接的方式 ``
虽然这种写法,确实要比传统的写法高明了许多,但是还是有很多想吐槽的点;
这种写法在字符串里面并不支持 js 语法了,也就是我们并不能进行 for 循环 和 条件判断,使得我们又不得不为此做出很多的处理
但是,比起传统的写法高明了很多,例如,我们使用字符串拼接的话,显得美观又漂亮
用法:我们使用英文下的反引号来代替我们之前的双引或单引 `` (键盘 tab 上面的键)
案例:let a="world";
let b=`hello ${a}`;
console.log(b) // hello world 最终的打印结果
如果我们非要用 字符串拼接的方式来进行页面的渲染,也不是不可能,我们可以使用函数的方式来解决;
案例:function fn(a){
var st= ` <div> ${a} </div> `;
return st;
}
var mt=` <div>${fn("hello")}</div> `;
这样的话 我们 的 mt 变成了 这种结构
<div>
<div> hello </div>
</div>
模块化:
common 是 nodejs 的模块化规范
amd 是 requirejs 的模块化规范
cmd 是 seajs 的模块化规范
而我们的 es6 也提供了我们的模块化规范
浏览器对于 type="module" 都是异步加载的;
模块加载一遍,就不加载了,会从内存中直接读取
开发思路:我们可以把所有的特效 分成不同的 js 文件,最后都放在一个 js 文件里面
es6 模块化的用法
export 向外暴露 变量 或 方法
如果有多个暴露的 变量 和 方法 ,我们使用 逗号 隔开
案例:01.js文件
let a="hello";
let b="world";
export {a,b}
import 接收外面暴露的变量 和 方法
案例:
像 jQuery 这种 插件我们 就可以不使用 export 向外暴露 变量 和方法 , 直接引入即可
import "jQuery.js";
像 在 01.js 中,我们有暴露的 变量 和 方法,我们就要使用 es6 语法了
import {a,b} from "01.js";
如果在 页面中 引入 模块的内容;我们只能这么写
案例:
<script type="module" src="01.js">
import {a} from "01.js" //我们如果只想使用一个变量,那么引入一个就好了;
console.log(a) // hello
</script>
注意事项:
不管是导出,还是引入,我们都需要 用 {} 将变量 和 方法 括起来 传递出去;
记住,每个 js 文件,或者在 页面中 <script> 中的语法,一旦使用 模块化开发,使用任何东西前,先看有没有引入,有没有暴露变量 和 方法 ,不然就会报错
script 标签的属性,defer 和 async 都是异步执行的;
defer 等页面渲染完,才执行
async 下载完毕就执行,
函数:
...变量名 由...加上一个具体名称的参数标识符组成,不定参数用来标识,不确定的参数
function fn(...value){
console.log(value) //打印的结果为 1,2,3
}
fn(1,2,3)
箭头函数:=> 提供了一种更加简洁的函数书写方式
基本语法:参数=>函数体
var f=v=>v //箭头后面只跟语句的话,代表 return 这条语句
等价于 function f(v){
return v
}
var f=(a,b)=>a+b //箭头后面只跟了语句的话,代表return 这条语句
var b=f(1,2);
console.log(b) //3
总结:当箭头函数没有参数或者多个参数的话,我们应该用 () 来括起来,代码书写的安全模式;
指的是形参的写法:不管参数有没有,都需要用 () 括起来,如果使用箭头函数的话,
多行语句:用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {},结果会自动返回
当箭头函数要返回对象的时候,为了区分代码块,要用 () 将对象包裹起来
案例:
var f=(id,name)=>({id:id,name:name})
f(6,2) //id=6,name=2;
关于 this 指向问题
函数体里面的 this 跟谁调用有关,谁调用这个函数,this就指向谁,在定时器中 this 通常指向 window,但是通过 => this 便可以指向函数内的 this
声明 类 class
class father{
//这个类里面的内容,讲道理构造器好一点
}
属性的写法
a="hello 我是类的属性"
里面有一个 constructor 的方法,当 new 实例化对象的时候,这个方法就会执行
方法的写法
fn(){
//方法的内容
}
实例化对象
let a=new father() // 注意:实例的时候,还是需要用 new
类的继承
class son extends father{
//这里面书写了子类的属性和方法
}
let b=new son()
这个 b 的实例种功能,便拥有了 father 的属性和方法,也拥有自己的属性和方法
less 用法:
引用 less
第一步:下载 less.js 插件
第二步:写以 .less 为后缀的文件
第三部:引入 less 文件的方式:
在 head 中加入 <link rel="stylesheet/" type="text/less" href="01.less">
引入 js 文件 <script src="less.js"></script>
less 是一门 css 的预处理语言
变量:这些变量都是不言自明的;
@nice-blue:#5b83ad //利用 @ 定义常量
#header{
color:@nice-blue; // 引用常量
}
<div id="header">
<div class="navigation"></div>
<div class="logo"></div>
</div>
less 样式写法
嵌套规则:
#header{
color:black;
.navigation{
font-size:12px;
}
.logo{
width:300px;
}
}
用 & 操作符 在那个代码块下,& 就代表了谁
作用域:一个 {} 代表一个作用域,凡是在作用域里面定义的常量,便可使用,否则不可以
sass 用法
scss 是 sass 的升级版,拥有了很多强大的功能,因为 scss 包括了 sass 的功能,所以就只说 scss 用法
scss 是一个成熟,稳定,强大的 css 预处理器,scss 是 sass3版,引入了新的语法特性
变量:$变量名:属性值
嵌套:
div{
p{
}
}
引入:@import "scss文件";
混合:通过 mixin 来分组那些需要在页面中复用的 css 声明
关键字:@mixin include
案例:
声明
@mixin border-radius($radius){
border-radius:$radius;
-ms-border-radius:$radius;
-moz-border-radius:$radius;
-webkit-border-radius:$radius;
}
.box{
引用
@include border-radius(10px);
}
继承:
通过 % 变量名 声明
%message-common{
border:1px solid #ccc;
padding:10px;
color:#333;
}
.box{
引用
@extend %message-common;
border-color:red; //也可以更改里面的额属性
}
操作符:我们可以进行 + - * / %;
width:600px/960px*100%;
关键字:& 代表父级选择器
.box{
& 代表 .box;
}
另一种嵌套的属性
.demo{
//命令空间后带有冒号
font:{
size:30em;
}
}
翻译过来:
.demo{
font-size:30em;
}
scss 用法 及 es6 用法讲解的更多相关文章
- scss + react + webpack + es6
scss + react + webpack + es6 写在前面: 刚学习完慕课网里的一个幻灯片案例,自己加了刚学的react,两者结合.首先让大家看看效果 点击此处 你可以先用纯js实现上面的效果 ...
- heckboxlist详细用法、checkboxlist用法、checkboxlist
heckboxlist详细用法.checkboxlist用法.checkboxlist for (int i = 0; i < CheckBoxList1.Items.Count; i++) { ...
- Sybase:游标用法以及嵌套用法
Sybase:游标用法以及嵌套用法 游标示例一: --Sybase游标示例一: create PROCEDURE DBA.p_proc_test() ON EXCEPTION RESUME begin ...
- Typescript(ES6) ...用法
简单例子: //数组深拷贝 var arr2 = arr; var arr3 = [...arr]; console.log(arr===arr2); //true, 说明arr和arr2指向同一个数 ...
- (转)es6用法
如何在浏览器中使用es6的语法呢? 方法一:引入文件相关js文件 <script src="traceur.js"></script> <script ...
- ES6全面讲解
写在之前.讲解了比较常用的ES6知识点,可以快速的入门.有两个比较复杂的知识点(promise,generator)则是留在了其他文章中,在里面详细讲解. 介绍 1.历史 1.ECMAScript ...
- MyBatis从入门到精通(第2章):MyBatis XML方式的基本用法【insert用法、update用法、delete用法】
2.4 insert 用法 2.4.1 简单的 insert方法 在接口 UserMapper.java 中添加如下方法. /** * 新增用户 * @param sysUser * @retur ...
- 获得供应商最近一次报价:OVER(PARTITION BY)函数用法的实际用法
利用rownumber ,关键字partition进行小范围分页 方法一: --所有供应商对该产品最近的一次报价with oa as(select a.SupplierId ,UnitPrice,Pr ...
- xpath的一般用法与特殊用法
# xpath的使用 安装lxml from lxml import etree Selector = etree.HTML(网页代码) Selector.xpath(一段神奇的代码) xpath的一 ...
随机推荐
- php中use关键词使用场景
php中use关键词使用场景,主要使用在函数内部使用外包得变量才使用得 1,这种函数使用不到外包变量 $messge="96net.com.cn"; $exam=function ...
- Java基础——Modifier类
转自:https://www.cnblogs.com/baiqiantao/p/7478523.html 反射 Reflect Modifier 修饰符工具类 在查看反射相关的Class.Fiel ...
- [.net core]9.中间件的具体实现
查看Startup.cs的configure方法 public void Configure(IApplicationBuilder app, IHostingEnvironment env) { i ...
- OpenCV处理文件、视频和摄像头
图像的本质(图像可以用数组来表示) import numpy as np import cv2 img = np.zeros((3, 3), dtype=np.uint8) print(img, im ...
- js 学习三 Array
1.数组的长度 var sequence = [1, 1, 2, 3, 5, 8, 13]; sequence .length //7 2.字符串转换成数组 string.split() var my ...
- elementui 之el-pagination爬坑,属性pager-count的设定
我想设置总页数为10页,页码条总是显示两个页码,其余省略号显示,我选择了pager-count,如下: <el-pagination @size-change="handleSizeC ...
- Maven项目构建利器01——为什么要使用Maven
1.为什么要使用Maven a)一个项目就是一个工程 如果一个项目非常庞大,不适合用package(包)来划分模块, 最好是每一个模块对应一个工程 分工合作,借助于Maven就可以将一个项目拆分成多个 ...
- 应急响应中find命令总结
在应急响应中,我们经常会使用find命令来查找系统中被黑客修改过的文件,或者被上传的木马后门文件,灵活使用find命令可以达到事半功倍的效果,现总结下使用技巧 举例,查找最近被更改的jsp文件 fin ...
- useradd 创建用户
useradd 创建用户 1.命令功能 useradd 创建一个新用户或者更改默认新用户信息. 2.语法格式 useradd option username useradd -D option ...
- python+selenium破解极验验证登录
1.前言: 目前很多网站会在正常的账号密码认证之外加一些验证码,以此来明确区分人/机行为,最典型的就是极验滑动验证.(如下图) 这里我们以简单实例说明如何实现自动校验类似验证. 2.步骤: 1)点击验 ...