- 博客(34)
- 收藏
- 关注
原创 JS-正则表达式
1.正则表达式是用来对字符串的增删改查,功能更为强大。2.字面量的形式创建正则 let str = '123weqweqwe1231231' //检测是否包含123,返回真 console.log(/123/.test(str)) 2.1 通过使用eval()来以变量的形式查找 let str = '123weqweqwe1231231' let obj = '@' //检测是否含有@,返回假 console.log(eval(`/${obj}/`).test(s
2020-08-25 09:19:03
138
原创 JS模块
1.JS模块管理 let module = (function () { const moduleLists = {} function define(name, modules, action) { modules.forEach((name, index) => { modules[index] = moduleLists[name] }) moduleLists[name] = action.ap
2020-08-20 10:31:39
141
原创 JS类的使用
1.类的基本用法1.1 不需要跟括号来接收参数,每个对象之间不需要逗号连接1.2 接收参数要constructor来接收,它会自行调用 class User { constructor (name) { this.name = name console.log(123) } getName () { return this.name } } let zs = new User('张三')
2020-08-13 09:50:41
1000
原创 C1驾照之科目二
准备事项:(1)12点在号码最左端一个大拇指的位置(2)黄陂横店考场走236上坡道,2389路。(3)每过一个项目时一定要停下来调整姿态,想好了下一步才能走,没想好绝对不要动千万要注意,一定要慢慢慢!!!!!!!步骤:1.起步调整座椅靠背调后视镜松手刹缓松离合放缓心情2.上坡起步对准12点目光锁定第二条线的下端到点停车,踩刹踩离合(同时踩)拉手刹(使劲拉)松脚刹缓抬离合等到车身发出第一声轰隆后再继续松(一定要慢)等到车身发出持续的轰隆声后松手刹(千万不要踩离合踩
2020-08-04 08:49:30
417
原创 JS对象
1.使用点语法完成默认值设置和新值替换利用的是同一对象中相同属性名后面的会覆盖前面的原理 function fun (params) { let config = { name: '张三', age: 18 } config = {...config, ...params} return config } console.log(fun({age: 20})) //name: '张三', age: 2
2020-07-18 09:43:11
141
原创 闭包
1.作用域的问题当调用一个函数后这个函数中声明的变量会被回收掉,为避免这种情况发生就需要一种可以保存变量的技术,就是闭包,就是函数内部调用外部的值,每当把函数内部的值赋给外面的一个变量保存时就会产生一个新的闭包。 function add () { let n = 1 return function add2 () { let m = 1 return function add3 () { console.lo
2020-07-07 20:53:09
109
原创 this
1.this在函数中的指向1.1 作为对象的属性时,this指当前对象。1.2 单纯就是个函数时,this指向window。 let obj = { monicker: '张三', showName () { console.log(this) //obj function showThis () { console.log(this) //window } showThis() }
2020-07-06 21:19:51
85
原创 函数
1.默认参数1.1古代使用三目运算来看是否传了实参,没传就使用默认参数1.2现代使用’=’,直接等于什么默认参数就是什么,下面就是用默认参数做的一个排序例子。function sort1 (array, type="从小到大") { return array.sort(function(a,b){ return type==="从小到大" ? a-b : b-a }) } console.log(sort1([1,2,6,1,4,98,1,3,6,
2020-07-04 17:34:15
157
原创 map
1.map1.1map是一种键值对的结构,用来解决以往不能用对象作为键名的问题。1.2 查找速度极快,可以使用对象,函数,基本类型作为键名2.map的创建 let name = {name: '张三'} function age (age) { return age } let map = new Map() map.set({name}) map.set(age(18)) console.log(map) //0: {Object =&g
2020-07-02 16:41:58
111
原创 Set
1.set的创建1.1set和数组的差别在于不能有重复的数据,否则会覆盖掉,而普通对象的键名不管是什么类型最后都会转为字符串 let set = new Set([1,1]) console.log(set) //Set(1) {1}2.set的基本使用2.1增加一次只能添加一个 let set = new Set([1]) set.add(2,3,4,5) console.log(set) //[1,2]2.2获取元素数量 let set = new Set(
2020-07-01 10:10:48
86
原创 Symbol
1.创建Symbol1.1 Symbol()let sym = Symbol('张三')1.2 不能给Symbol创建属性,所以要访问内容就需要使用自带属性description let sym = Symbol('张三') console.log(sym.description) //张三1.3也可以使用Symbol.for()的形式创建,这个和Symbol()的不同在于用Symbol.for()创建时会查询内存中是否含有一样的Symbol对象,如果有就会直接把引用,就不会产生新的
2020-06-30 11:06:41
96
原创 数组的方法
what?Array of 是一种新的数组创建模式why?以前创建数组会有一个问题就是 let old = [0] old[3] = 3 console.log(old)结果打印的是:(4) [0, empty × 2, 3],当没有赋值时,系统会默认添加两个undefined,这样容易搞混淆,所以需要一个不产生空的方式。3. how? let arr = Array.of(6) console.log(arr.length) console.ta..
2020-06-25 10:21:19
208
原创 Number,数学,时间的基本函数
判断是否为整数 let num = 13123123.123123 console.log(Number.isInteger(num)) //false保留小数(四舍五入) console.log(num.toFixed(2)) //13123123.12取最大 console.log(Math.max(1,2,3,6,231,82,13)) //231取最小 console.log(Math.min(1,2,3,6,231,82,13)).
2020-06-25 08:03:44
502
原创 类型转换
字符串转Number1.显式转换 const str = '99' console.log(typeof Number(str)) //number2.隐式转换 console.log(typeof (str*1)) //number2.Number转字符串1.显示转换 const num = 99 console.log(typeof String(num)) //string2.隐式转换 console.log(typeof (nu..
2020-06-23 16:49:59
91
原创 字符串基本函数
查询长度 let str = ' HellO WoRld ' console.log(str.length) //13转大写 console.log(str.toUpperCase()) //HELLO WORLD转小写 console.log(str.toLowerCase()) //hello world去掉两边的空格 console.log(str.trim().length) //11根据下标查找字符 console.lo.
2020-06-23 16:09:09
162
原创 模板字符串
what?模板字符串是一种新推出的打字符串的形式。why?因为传统的使用+号来连接字符串非常麻烦,而且一旦需要空格和换行还得转义。而这个模板字符串就类似于Html中的pre标签一样,你写的什么样子就输出什么样子,特别爽。how? let str = '今天天气真不错' let pen = '放你娘的狗屁' console.log(`${str} //最外层要用``包起来,然后变量要用${}包起来 他却说:"${pen}..
2020-06-23 09:18:24
208
原创 typeof 和 instanseof 判断数据类型
typeof1. typeof 可以用来判断数据的类型。2. 用法为: let str = '张三' let num = 123 let boo = true let nul = null let unde = undefined let arr = [1,2,3] function fun () {} console.log(typeof str) //字符串为String console.log(typeof num) /.
2020-06-23 09:01:08
429
原创 for-in和for-of
1.for-in可以取下标let obj = '今天天气真不错' for(key in obj){ console.log(obj[key]) }2.for-of可以直接取值 let obj = '今天天气真不错' for(value of obj){ console.log(value) }
2020-06-22 17:56:06
82
原创 break与continue的区别和label符
1.break会直接跳出整个循环 for(let i = 0; i < 10; i++){ if(i%2){ if(i==5){ break; } console.log(i) //输出为1 } }2.continue只会跳出当前循环,值得注意的是,如果跳出了当前循环当前作用域内的代码就会全部作废 for(let i = 0; i < 10; i++){
2020-06-22 17:44:52
122
原创 JSfor循环输出99乘法表
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> span{ display: inline-bl
2020-06-22 17:18:40
715
原创 Object.freeze冻结变量
什么是冻结变量?就是让变量以及里面的属性都不可改变。为什么需要冻结?防止一些重要的东西比如端口被修改。怎么使用?const test = {name: ‘张三’}Object.freeze(test)
2020-06-21 16:58:01
190
原创 let和const
List itemconst1.什么是const?const是常量2.为什么需要const?以前没有区分常量和变量,导致数据可以任意改变,现在为了严格写代码就出现了常量,常量在同一作用域下不可修改,除非是引用类型,而即便是引用类型也不能修改地址值。3.怎么使用?const TEST = ‘helloworld’ //常量名一般都要大写...
2020-06-21 16:48:31
58
原创 块级作用域
1.什么么是块级作用域?{} 这个花括号里面的作用域就是块级作用域。2. 为什么需要块级作用域?var i = 100for(var i=0; i<5; i++){ console.log(i) //1,2,3,4}console.log(i) //5使用var的话就会导致在for循环里面的i覆盖掉了上面的i,然后i的值就发生了改变,所以我们需要一块私有领域来包裹住for里面产生的变量,所以产生了块级作用域。3.怎么使用?使用let或const命名即可。...
2020-06-21 16:24:56
340
原创 全局污染,重复声明与严格模式
什么是全局污染?function test () { web = 'hello world'}这种不声明就直接赋值的变量就会直接成为全局变量,这就是全局污染。2. 全局污染有什么问题?会导致有隐患,当在其他地方再次应用这个变量时,值就不好控制。3. 怎么解决全局污染?通过使用var ,let , const来声明变量,让私有变量不再是全局变量,为避免忘记使用,可以通过开启严格模式来强制提醒 "use strict"//直接扔到js里面就行...
2020-06-21 16:01:05
280
1
原创 变量提升
1.什么是变量提升? console.log(web) var web = 'hello world'这时候会输出undefind,而不是报错,原因就是变量提升了,这段代码就相当于 var web console.log(web) web = 'hello world'所以会输出undefind,这会导致变量不好控制2.为什么会有变量提升?因为在执行过程前js会有一个编译过程,这个编译过程就会把一些变量给声明而不会赋值,等到执行阶段才会赋值。所以即便是下面这种代码也会存在声明提升fu
2020-06-21 09:35:22
146
原创 canvas和svg
canvas1.canvas是由js动态生成的。2.基于位图(像素),不要随意放大缩小。3.修改后会重绘。4.canvas编写过程。5.切记!canvas的样式宽高一定要写在标签里,如果写在css里就会导致画布的拉伸,从而失真!6. canvas 对象的 getContext 方法返回一个具有很多绘图功能的对象,这是一个绘图环境,使用这个对象就可以操作 canvas 元素进行绘制。svg1.svg是由xml静态描绘。2.基于矢量(公式),不会失真。3.修改后不会重绘。...
2020-06-20 12:48:44
202
原创 CSS权重
粒度越大权重越大。单个权重排序为:行内>ID>class>标签>*。权重是可以叠加的,比如.test1{//这里权重就仅为10}.test2【class】{//这里因为加了一个class所以权重要加10,所以这里的权重为20}。可以使用!important来强制元素优先级,但不推荐这样做,会导致代码很杂乱。元素的样式大部分是可以继承的,比如字体大小,颜色等等,继承没有权重,而边框等样式是不能继承的。通配符的权重为0,而继承为Null,0...
2020-06-19 17:33:06
147
原创 css3响应式布局之媒体查询和rem
在样式表中可以使用media来局部定义响应式布局。可以使用’and’来表示条件。可以使用’,'来表示或。可以使用’not’来表示非。可以使用’only’来排除低端的浏览器,其运行过程就是先查看当前浏览器中是否含有媒体查询这个功能,没有就直接忽略这段样式。@import url(small-x.css) only screen and (max-width: 768px); @import url(small.css) only screen and (min-width: 768px); @im.
2020-06-19 10:58:05
180
原创 css3响应式之引入
1.设备通过给style标签设置media属性来选择要呈现的设备。media=“screen” (就是在屏幕中显示的样式)。media=“print” (就是在打印机中显示的样式, 可以通过ctrl+R来调出打印机界面)。以前还有什么电视之类的,后来被废除了,因为几乎没啥用。2.link中也可以使用media,规则一样。(但不推荐使用,原因请看第三点)。3.@import引入css文件1. 如果要使用第二点中的方法就会导致页面中有很多的Link。2. 所以更推荐在主css文件中使用@
2020-06-17 18:15:56
284
原创 在vue-cli中使用VueRouter以及render函数的覆盖问题
1.下载Vue和vue-router的包 npm i vue -s-d npm i vue-router -s-d2.创建main.js和router.js文件3.在main.js中输入 import Vue from 'vue' import VueRouter from 'vue-router' import router from 'router.js'//这里要注意路径 Vue.use(VueRouter) new({ router })4.在router.js中输
2020-06-11 20:47:50
442
原创 vue-loader
解决webpack中新版vue-loader的使用问题https://blog.csdn.net/sxs7970/article/details/88826248
2020-05-11 14:45:55
103
原创 webpack中babel的安装方法
亲测有效:https://blog.csdn.net/Piconjo/article/details/105758934
2020-05-10 14:20:33
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人