自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 JavaScript基础知识汇总

乱七八糟的,有知识点,有小技巧。想到什么写什么,目的加深印象(持续更新)快速将多维数组转换成一维数组,并排序const arr = [[1, 2, 4, 7], [3, 5, 8, 11], [6, 9, 12, 14], [10, 13, 15, 16]]// ES6arr.flat().sort((a, b) => {return a - b});// ES5arr.toSt...

2019-11-22 17:30:28 84

原创 使用whistle实现移动网页(H5、公众号、企微应用)的本地开发及调试

使用whistle实现移动网页(H5、公众号、企微应用)的本地开发及调试

2022-10-12 11:02:59 806 2

原创 new 运算符详解

当使用 new 运算符执行一个函数时,称为构造函数执行模式,返回一个实例对象,而函数体中的this指向这个实例如何实现?创建一个对象将对象原型指向构造函数的原型将this指向这个对象返回这个对象// 实现 newfunction fakeNew(){ const obj = {} // 获取构造函数 const _constructor = [].shift.call(arguments) // 改变原型指向 obj.__proto__ = _constructor.prot.

2021-04-27 14:49:20 419

原创 基础面试题分析

1let a = { n: 1}// 声明变量 a,开辟堆内存AAAFFFF0000 存储键值对 n: 1,将内存地址赋值给 a,将变量 a 与 堆内存关联let b = a // AAAFFFF0000// a.x = b 这种写法会造成堆的无限嵌套,引发内存溢出 // 声明变量 b,与 堆内存关联a.x = a = { n: 2}// (1) 拆分为 a.x = { n: 2 } 、 a = { n: 2 }// (2) 此时 a.x 的 a 仍然关联旧的堆内存地址 AAAFFF

2021-04-22 16:34:42 83

原创 Vue常见问题

1.响应式数据原理默认vue在初始化数据时,会给data中的所有属性使用Object.defineProperty重新定义,当页面取到相应属性时,会进行依赖收集(Watcher),如果属性发生变化,就会通知相关依赖进行更新操作/initData 初始化用户传入的data数据创建Observer对数据进行观察defineReactive 循环对象属性定义响应式变化Object.de...

2020-04-05 11:28:21 238

原创 盒模型

CSS 传统盒模型content => width & heightmarginpaddingborder盒子宽度 => content + 左右padding + 左右borderCSS3 新盒模型box-sizing: content-box; (默认值,传统盒模型)box-sizing: border-box; (新盒模型)设置border-box...

2020-03-13 11:09:40 56

原创 Math数学函数

Math 数学函数数学函数:但它不是一个函数,它是一个对象,存储了很多操作数字的属性和方法 ,因此也称作数学函数常用属性和方法对于非数字会先使用Number转换为数字类型,再进行处理Math.abs([number val]); 获取绝对值(绝对值永远是正数或0)Math.ceil / floor([number val) 把一个数向上或向下取整Math.round([num...

2020-03-12 14:05:20 169

原创 JS基础Number类型详解

parseInt([val])\parseFloat([val])遵循从左到右的顺序查找有效字符,如果[val]不是字符串,则会先转成字符串再查找Number([val]) 、isNaN([val])遵循C++机制只要出现任何一个非有效数字,都是NaN,[val]为null/空字符串/false都为0isNaN(null); // falseparseIn(null); NaNNumb...

2020-03-12 10:40:57 184

原创 ES6变量和常量

ES6增加了 let 和 const 来进行赋值区别varvar 可重复声明var 没有块级作用域var 可无限制修改/// 重复声明var a = 2;var a = 3;console.log(a) /// 3/// 无块级作用域if (true) { var b = 5;}console.log(b); /// 5/// 可无限制修改var c = 'str...

2020-03-11 10:53:50 156

原创 前端面试题

1、列举常用浏览器,及内核常用浏览器有Chrome,FireFox,Safari,IE内核有Trident,Gecko,Presto,Webkit最常用2、浏览器如何渲染网页(1)遍历DOM节点,构建DOM树(2)解析CSS文件生成CSS规则树(3)渲染树布局,从根节点开始遍历,输出盒子模型。(4)渲染树绘制,浏览器遍历渲染树,调用渲染器的paint()方法在屏幕上显示其内容,渲染树...

2020-01-13 15:29:08 107

原创 日常划水

06:00该起床了,唉,还是有点困。抓紧起来锻练会儿,50个俯卧撑 + 压腿。洗漱、蹲坑、抓紧时间煎个鸡蛋,吃早饭咯07:10出发赶地铁哟,今儿人可真多,等一趟车再上吧。哎,好不容易有个座位,两边儿还都是胖子。也算可以了,至少不用站着沙河站的人乌央一大片,真挤,坐着也憋屈08:00到达西二旗,换13号线,还行,有座位看会儿视频到站换公交车,还好,终于到了,9点...

2019-12-10 17:14:06 876

原创 算法-排序

冒泡排序冒泡排序比较任何相邻的两个元素,如果第一个比第二个大,则交换他们,元素向上移动至正确的位置,像冒泡一样,因此而得名。复杂度O(n2)function List(){ // 辅助函数,交换元素位置 function swap(id1, id2) { const aux = arr[id1]; arr[id1] = arr[id2]; arr[id2] = aux; ...

2019-11-28 13:40:56 66

原创 正则表达式常用元字符

字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符^表示语句的开头$表示语句的结尾*匹配前面的字符零次或多次,例: zo*可以匹配 ‘z’ 、‘zoo’,等同于{0, }+匹配前面的字符一次或多次,例: zo*可以匹配 ‘zo’ 、‘zoo’, 不能匹配 ‘z’,等同于{1, }?匹配前面的字...

2019-11-26 16:01:18 378

原创 script元素

<script>标签是向HTML页面中插入js的主要方法。属性定义src表示包含要执行的外部js文件defer立即加载,但延迟执行,HTML5规范中要求按照出现的顺序执行,但在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DomContentLoaded事件出发后运行,因此建议只包含一个延迟脚本。async异步加载,不会阻塞文档的呈现。会...

2019-11-22 11:13:43 76

原创 算法学习-求斐波那契数列的第N项

1.普通版递归function fibonacci1(n) { if (n <= 2) return 1; return fibonacci1(n - 1) + fibonacci1(n - 2);}console.log(fibonacci1(20)) // 6765简单易懂,缺点就是当n比较大时,会出现栈溢出,导致浏览器假死2.优化版递归function fibo...

2019-11-21 15:20:58 195

原创 js 继承

对象冒充原理构造函数使用this关键字给所有属性和方法赋值(即采用类生命的构造函数方式)。因为构造函数只是一个函数,所以可以使classA构造函数成为classB的方法,然后调用它。classB就会收到classA中定义的属性和方法。function classA(sColor) { this.color = sColor; this.sayColor = function() { ...

2019-11-20 11:01:02 70

原创 git初涉

git 版本控制首先创建一个分支hotfix,用于修改紧急bug。git branch hotfix // 创建一个分支git branchhotfix*master // *号为当前分支原有的master用来开发迭代功能。hotfix修改后,要及时提交,之后切换master分支,继续开发新功能。git checkout hotfixgit commit -a git push...

2019-11-19 14:46:57 95

原创 扩展运算符...

ES6扩展运算符 …扩展运算符用于取出参数对象中的所有可遍历属性,拷贝到当前对象中。如果将扩展运算符用于数组赋值,只能放在最后一位,否则会报错。扩展运算符对对象的拷贝属于浅拷贝,实际在拷贝的时候,拷贝的是对象的引用,当原对象发生变化,拷贝的对象也会跟着变化。let obj = {a: 1, b: 2};let obj2 = {...obj}obj2.b = 3// obj = {a: 1...

2019-11-18 09:55:53 185

原创 数组学习 1

.mapmap方法对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组。map方法接受一个函数作为参数。该函数调用时,map方法会将其传入三个参数,分别是当前成员、当前位置和数组本身。根据遍历执行的匿名函数,对于原数组中的每个值产生一个对应的值,并返回一个新的数组,存在一个映射关系,并且不会改变原数组,不会对空数组进行检测。var numbers = [1, 2, 3];number...

2019-11-15 16:11:19 84

原创 神奇的 ::v-deep

神奇的 ::v-deep深度作用选择器之前在项目中用到了 vant,使用特别简单,而且组建也非常的丰富。即时这样,在项目中肯定也需要用额外的样式来打造自己的应用。直接在 <style lang="scss" scoped> .... </style> 中编写的话只会影响当前组件内的样式,但如果去掉scoped话又会影响全局样式。想了好多方法,都没得到很好的解决。百度之后...

2019-11-14 15:51:57 29356 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除