前端DOM发展史、性能与产能双赢背后的思考
从DOM到虚拟DOM
——前端DOM发展史、性能与产能双赢背后的思考
写在前面
开发工程化的基石——设计模式
MVC:经典设计模式。
什么是设计模式?
设计模式是一套被反复使用的代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式是开发工程化的基石。可以理解成面对一个现实需求时候的常态解决方案框架。
MVC模式:
MVC:Model View Controller,即模型、视图、控制器。
Model层:模型(用于封装业务逻辑相关的数据和对数据的操控)
View层:试图(渲染图形化界面,即GUI)
Controller层:控制器(M和V直接的连接器,主要处理核心业务逻辑,数据通信、控制M和V的更新等)
前端中的MVC
具体解释:Model 和服务器交互,Model 将得到的数据交给 Controller,Controll ...
JavaScript知识点——JavaScript中的EventLoop机制
JavaScript中的EventLoop 机制
前言
让我们先来看一个简单的例子:
Q: 请写出下列JS代码的运行结果。
1234567891011121314console.log(1);setTimeout(function () { console.log(2);})var promise = new Promise( function (resolve, reject) { console.log(3); resolve(); })promise.then(function () { console.log(4);})console.log(5);
——题目来自SAST2020应用开发部Web部分招新题。
我们通过浏览器控制台可以很容易得出以下运行结果。
1234 ...
JavaScript基础教程(3)——常见流程控制
写在前面
SAST2020前端组授课——JavaScript基础学习教程系列
常见流程控制
if-else
12345if ( someFactors ) { // true} else { // false}
do-while、while
123while ( someFactors ) { // true}
当条件成立,继续执行,直到while的条件不成立。
123do { // true} while ( someFactors )
do-while和while的区别就在于,第一次迭代的时候,while要先判断,do-while会先执行,然后再判断是否满足条件。
for、for-in、for-of
for:
123for (语句 1; 语句 2; 语句 3) { ...
JavaScript基础教程(2)——变量作用域与var和let
写在前面
SAST2020前端组授课——JavaScript基础学习教程系列
变量声明
命名规则
JS中的变量是弱类型可以保存所有类型的数据,即变量没有类型而值有类型。变量名以字母、$、_ 开始,后跟字母、数字、_。(区分大小写,避免使用关键字和保留字!)
驼峰式命名规则:第一个字母小写,之后每个单词首字母大写。
动态弱类型语言
别的编程语言会对变量的类型有严格的限制,之间的转换也有规定。你开始定义一个变量,是整型它就只能是整型,是字符串它就必须是字符串。而JS就不同了。变量声明的时候不用规定是什么类型的,用的时候它自己根据你赋的值判断。
参考资料:https://blog.csdn.net/xo3ylAF9kGs/article/details/102812991
可以思考一下:动态VS静态,强VS弱,之间是什么关系?
类型检查确保一个表达式中的变量类型是合法的。在静态类 ...
JavaScript基础教程(1)——语言介绍与定义
写在前面
SAST2020前端组授课——JavaScript基础学习教程系列
语言介绍
JavaScript 官方名称是 ECMAScript 是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
1995年2月Netscape的布兰登.艾奇开发了针对网景公司的 Netscape Navigator浏览器的脚本语言LiveScript。之后Netscape与Sun公司联盟后LiveScript更名为JavaScript。
早期的因特网,网速慢、网费高,诞生了在客户端完成一些基本的表单验证的需求。
后来JavaScript不仅仅只是客户端的数据验证,而是具备了浏览器窗口及其内容几乎所有方面的交互能力。
微软在javascript发布后为了抢占市场推出了JScript。为了让脚本语言规范不在混乱,根据javasc ...
第九百九十九次相识
第九百九十九次相识
朝菌不知晦朔,蟪蛄不知春秋,此小年也。楚之南有冥灵者,以五百岁为春,五百岁为秋;上古有大椿者,以八千岁为春,八千岁为秋,此大年也。
——(摘自《逍遥游》)
云销雨霁正是好时节,还未破晓,白衣的少年就从繁茂遮天的大椿里走出来。
古语有云,大椿者,以八千岁为春,八千岁为秋,却不知世间只得一株真正的大椿,每逢时节恰好,便化而为人,与镜湖湖畔的百年大椿相伴。
衣摆被露珠沾湿,少年也不在意,折了花枝在手上把玩,席地而坐。
须臾日光洒下,穿透朦胧雾气,微风泛起波澜,吹起少年绣着云纹的广袖。少年微微转头,不甚在意。
有稚嫩的声音轻轻响起,几乎微不可闻,少年侧耳去听,长发落在身侧,他嘴角勾起一个算不得欣喜的弧度,这样已是十分难得。
那声音似乎问了什么,少年抬眸道:
“我是落宣,落墨椿宣上。”
他眼睛里看的却是花枝上一只薄纱绿翅的蜉蝣。
蜉蝣朝生暮死,只他一转身的光阴,便是一生。 ...
《道德经》和《圣经》,冥冥中的注定
《道德经》和《圣经》,冥冥中的注定
今天打算和大家聊聊《道德经》。这本代表着中华文明渊源的书。
我很赞同陈寅恪老先生对华夏文明的诊脉:
“二千年来华夏民族所受儒家学说之影响,最深最巨者,实在制度法律公私生活之方面, 而关于学说思想之方面,或转有不如佛、道二教者。”
而佛道二者中,道家又是我们中国原生态的思想创造,作为一个复兴路上的中国人,道家这个我们文化传承最内核的东西,是很有必要了解清楚的。
有人曾问:要如何去读懂《道德经》?其实我觉得,要读《道德经》,不是一上来就找各种版本的道德经读,而是要先读其他书做铺垫,最后再读《道德经》,你才能读懂道德经的伟大和玄妙之处。
至于先读哪些书作铺垫呢?
曰:先读《圣经》,然后读《周易》,然后读《孙子兵法》和《黄帝内经》,最后再读《道德经》,你就能读懂了。
我大可以笃定地说,那些对道德经解读的人却不提道德经和《圣经》、《周易》、《孙子兵法》、《黄帝 ...
使用Hexo+github Page搭建个人博客
使用Hexo+github Page搭建个人博客
————你的第一个个人网站
写在前面
作为一个程序猿,你怎能不拥有一个属于你自己的Blog呢?
拥有一个个人博客,并且保持多年的更新和维护,记录自己的成长之路,不是很有意思吗?
不过,我们先来了解一下一个网站都包含哪些东西?
要做一个网站需要学习什么?
网站都包含哪些内容?
前端:页面元素、资源,接口调用(get、post)
后端:具体的实现逻辑、数据库,接口传递数据。
具体来看,通过F12或者右键鼠标审查元素或者查看网页源代码,可以看出网页基本的结构:
下方其实是控制台,可以运行一些简单的JavaScript代码。
html、css、JavaScript都是一种解释性语言。而C++、C是编译性语言。
简单而言,解释性语言就类似与把英语翻译成中文,浏览器做的就是翻译这件事,把我们想要描述的网页用代码写出来,浏览器解释这个代码 ...
Hexo常用命令手册
Hexo常用命令手册
全局安装
1cnpm install -g hexo-cli # 全局安装(-g)
查看版本(确定安装成功)
1hexo -v # 查看版本
初始化
1hexo init <folder> # 初始化
清空public
1hexo clean # 先删除已经生产的public文件夹
合成public
1hexo g # 生成(generate)
启动本地预览
1hexo s # 启动服务 (server)
新建博文
1hexo new <title>
创建标签
1hexo new page tags
更换Butterfly主题
1git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
安装git插件
1cn ...