我与前端那割舍不开的情缘
前言很早就想做一个情感博主了,来说一说自己的生活,或者是自己的经历,终于,在今天的摸鱼中实现了这个梦想。
电脑:你就是今天没去云顶之奕
我:才不是
入坑前端之前在刚上大学的九月份,到了该报社团的日子了,各大社团,团委,学生会,神秘组织等都开始在学校贴上海报,搭起棚子,开始准备骗人,呸不对,是招新!
这时候我就想,我应该加入哪个社团呢?我可是要成为光的男人啊,那注定不凡的我当然要选择一个看起来不凡的组织!
最后,选择了这个当时人数为十几个人的学生开发团队–琴理工作室
琴理工作室:我们是一群平凡的人,在做着不平凡的事!
为什么选择他呢?
因为我很喜欢学跟计算机有关的知识,大学报的也是信息院的专业(物联网工程),所以我觉得会开发的应该很帅~
那为什么选择前端呢?
我当时的心里状态:前端后端好像都是开发的,前端那个学长看起来好亲切啊~,就它了!什么?前端组长还是学姐?我先冲了xdm!
我的第一次前端考核
培训都是由每届大二学长进行
当时是进行了为期四周的培训,每周一天,完后月底进行了一次考核。
考核内容:做一个登录,把能登录的数据放在json数组里,做好表单校验,完后登 ...
对宏任务和微任务的理解
欢迎小伙伴们持续关注我的面试专栏,地址:Ned的面试加油站
前言宏任务(macroTask)和微任务(microTask),都是JavaScript中异步中的一些概念,如果你对其还一头雾水,那就跟着我在捋一遍,加深一下印象。
老规矩,先上图:
梳理这块主要还是为了让自己对代码执行的逻辑能够更加的清晰,当然,某些原因的还是应对一些面试题。
什么是宏任务,什么是微任务?我们来以题入手,这应该是一道比较常见的题了:
123456789console.log(100)setTimeout(()=>{ console.log(200)})Promise.resolve().then(()=>{ console.log(300)})console.log(400)// 答案为: 100 400 300 200
问的就是,这段代码执行后,打印出来的顺序是什么?如果你心中的结果跟答案不一样的话,不要慌,首先对于同步异步有些了解的可以看出,先打印出100 400肯定是没有毛病的了,问题应该就出在200跟300上,它俩之间300为什么要 ...
封装一个日期格式化的工具函数
前言最近还是在做那个练习的小项目,做完接收数据并渲染到页面上的时候,发现后端小伙伴又在给我找活干了,渲染这当然是小kiss啦,可这个字段是什么东西?
12"createTime" : "2021-01-17T13:32:06.381Z","lastLoginTime" : "2021-01-17T13:32:06.381Z"
直接CV到百度,查出来这一串是一种时间格式,下面放上它的解释:
T表示分隔符,Z表示的是UTC.UTC:世界标准时间,在标准时间上加上8小时,即东八区时间,也就是北京时间。
另:还有别的时间格式和时间戳,想了解的小伙伴可以百度了解一下哦,免得跟我一样,看到了才想着去百度了解,事先了解一下,没坏处的。
了解完了,现在我应该做的,就是将这个时间变成我们大家看得懂的那种格式,并将它渲染到页面上。
开始上手JavaScript中,处理日期和时间,当然要用到我们的Date对象,所以我们先来写出这个函数的雏形:
123const formateDate = (value)=>{ ...
弹性盒模型-flex
前言最开始接触flex布局的时候,还是在阮一峰老师的博客上学习的,最近在看一本书,上面有提及到,于是就来整理一下所学,有理解的不对的地方还请指正。
弹性盒模型简介弹性盒模型和盒模型的概念有一些区别,他不在是定义元素的,而是CSS3引入的一种布局方式,其核心思想是调整元素大小来适应不同空间,包含垂直方向的高度和水平方向的宽度。
弹性盒模型有两个重要的概念:容器(container)和项目(item)。其中容器属性用来设置项目的公共样式,比如排布方向、排布对齐方式;项目属性用来设置各个项目之间的相对关系,包括比例、顺序等。容器和项目是嵌套关系,一个容器可以有多个项目,其中容器的display的属性值应设为flex。
标准盒模型的排布包括水平和垂直方向,弹性盒模型也是如此。我们可以将水平方向理解为主轴,垂直方向理解为交叉轴,与传统盒模型有所不同的是,弹性和模型在排列方向上除了从左到右和从上到下,还支持反序排列,即从右到左和从下到上。
容器的属性有6个,我们下面一一介绍他们:
1.justify-content定义主轴上项目的对齐方式。
flex-start:默认值。项目靠近主轴首端的方 ...
微信小程序相关
1. 数据绑定1.小程序1.data中初始化数据2.修改数据: this.setData()
1.修改数据的行为始终是同步的
3.数据流:
1.单项: Model —> View
2. Vue1.data中初始化数据2.修改数据: this.key = value3.数据流:
1.Vue是单项数据流: Model —> View
2.Vue中实现了双向数据绑定: v-model
3. React1.state中初始化状态数据2.修改数据: this.setState()
1.自身钩子函数中(componentDidMount)异步的
2.非自身的钩子函数中(定时器的回调)同步的
3.数据流:
1.单项: Model —> View
2. 获取用户基本信息1.用户未授权(首次登陆)
1.button open-type=‘getUserInfo’
2.用户已经授权(再次登陆)
1.wx.getUserInfo
3. 前后端交互1.语法: wx.request()2.注意点:
1.协议必须是https协议
2.一个接口最多配置20个域名
...
我的第一次PR,一个炫酷的个人介绍页面
前言一直想做个关于介绍的个人页面,挂在域名的根路径下面,当home页用,还不想手动的去自己从0到1的去做一个,觉得那很浪费时间,直到我前几天逛github,发现了这个项目,瞬间觉得,它就是我想要的样子~
个人简介页面模板女生自用99新????引起了我极大的好奇心,连忙点进去。
这个项目是Vue做的,READEME里面给与了充足的介绍,跟效果图,demo网址等,给了小白充足的了解去把这个项目更改成为自己的一个介绍网页,里面的功能也是十分的齐全。
如果有需要可以直接点击传送门:Jiaocz/Personal-page
我也是十分的欣喜,终于找到了我喜欢的样子,于是直接git clone,将项目拉下来,进去照着注释,文档,各种改了改,于是他最后成了这个样子:
传送门查看效果:Ned
这里我又要说一件事情了,这个项目原来,下方的icon不是我截屏中的这样,而是这个效果:
而我心中的页面,下方想要放一些自己的站点,点击可以直接跳转的那种,并且我觉得他原来做的动效也很好看,可以保留,于是就想着,我能不能自己给他改动一下,使得🐟和🐻可以兼得呢?
是不是做出来还可以提个PR,满足 ...
关于JavaScript的数据类型(2021.9.23更新)
前言二刷JavaScript高级了,上一次是刷的黑马pink老师的课程,这次刷的是尚硅谷的课程,都是B站的课程,对课程进行了些许总结。
可能是课程有些老的原因,例如视频中仅有5个基本类型,但是目前好像是有7种。
所以结合之前所学的一些知识,对内容进行了补充。
如有错误,还望指正。
分类基本(值)类型
String:任意字符串
Number:任意的数字
boolean:true / false
undefined:undefined
null:null
bigInt:可以用任意精度表示整数
symbol:符号类型是唯一的并且是不可修改的,通常用来作为object的key
引用(对象)类型
Object:任意对象
Function:一种特别的对象(可以执行)
Array:一种特别的对象(数值下标,内部数据是有序的)
如何判断数据类型三种方法:
typeof
typeof返回数据类型的字符串表达
注:可以判断undefined、数值、boolean、字符串,不能判断null与object object与array
instanceof
判断对象的具体类型
=== ...
JavaScript | 让数组扁平化的三个方法
什么是扁平化定义: 数组的扁平化,就是将一个嵌套多层的数组 (嵌套有多少层都行)转换为只有一层的数组。
举个例子如下:
12var arr = [1, [2, [3, 4]]];console.log(flatten(arr)) // [1, 2, 3, 4]
其中,faltten函数的作用,就是让数组扁平化。
所以,我们已经知道这个函数起的是什么作用了,下面我们去试着写一个出来!
造轮子的每一天~
递归首先,我们循环这个数组,将不为数组的元素推入result中,如果元素还是数组,那么就使用递归来解决。
123456789101112131415161718// 递归var arr = [1, [2, [3, 4]]];function flatten(arr) { var result = []; for (var i = 0, len = arr.length; i < len; i++) { if (Array.isArray(arr[i])) { result = result.conca ...
框架简介之Vue.js
前端框架有哪些?React(GitHub No.1)React起源于Facebook的内部消息。React官方是这样介绍的它:一个声明式、高效、灵活的、创建用户界面的JavaScript库,即使React的主要作用是构建UI,但是项目的逐渐成长已经使得react成为前后端通吃的WebApp解决方案。
Vue(GitHub No.2)vue官网说:Vue.js 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。渐进式,我个人理解就是阶梯式向前。vue是轻量级的,它有很多独立的功能或库,我们会根据我们的项目来选用vue的一些功能。就像我们开发项目时如果只用到vue的声明式渲染,我就只用vue的声明渲染,而我们要用他的组件系统,我们可以引用它的组件系统。vue的渐进式表现为:
声明式渲染——组件系统——客户端路由——-大数据状态管理——-构建工具
Augular(GitHub No.3)AngularJS 是一款开源JavaScript库,由Google维护,用来协助单一页面应用程序运行,它是基于ES6来开发的。
它是前端/客户端JavaS ...
解构运算符的理解与运用
前言最近一直在学JavaScript,看到了ES6中的解构符号,觉得这个给我们的代码简洁性带来了一个飞跃式的提升,而且它已经运用在了企业开发中,假如未来你工作中,别人在用,你却读不懂别人的代码,这造成的影响还是很大的。因此,好好学习一下吧。
你可以不用,但是你不能不懂✔
JavaScript ES6中,有很多特性都是为了简化代码,方便程序员去书写的。解构运算符就是其中很好的特性,它可以通过减少赋值语句的使用,或者减少访问数据下标、对象属性的方式,使得代码更加简洁,增强了代码的可读性。
解构符号的作用解构赋值是对赋值运算符的扩展,他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
使用方法
基本使用
12let [a,b,c] = [1,2,3];// let a = 1, b = 2, c = 3;
嵌套使用
12345678910// 数组 let [a, [[b], c]] = [1, [[2], 3]]; console.log(a); // 1 console.log(b); // 2 ...






