详情

全站展示位

JavaScript基础回顾(四):如何实现对象的继承 |

在上一篇博客中,我们回顾了如何实现对象的深度复制,学习过Java、C++等面向对象的语言的同学应该都知道,面向对象的语言最大的特征就是类以及类的封装性、继承性、多态性。JavaScript是一门基于对象的语言,可以说在JavaScript中一切皆对象,它是基于类的动态语言,本身不提供class的实现,虽然在ES6中引入了class,但是它仍然是基于原型的,JavaScript也可以模拟实现类似Ja。。。

推荐

谈谈Vue的数据绑定原理与实现 |

Vue 有两个比较核心的特性,一个是非侵入式的响应式数据绑定系统,另一个是组件系统。由于这两个功能非常重要,所以在求职面试的时候,面试官也通常会围绕这两部分进行提问,如数据绑定的底层实现,组件之间的通讯等等。接下来,本篇博客将主要探讨一下Vue的数据绑定原理与实现。

这次彻底搞懂JavaScript中的原型与原型链 |

曾经以为遥遥无期的2022年,转眼就到了。自大学本科毕业以来,从事前端开发行业也有五年了,对于日常工作中的业务需求开发基本都已游刃有余,但总感觉自己还存在很大的提升空间,也许是遇到大家口中常说的每隔三年五年就会面临的上升瓶颈了吧。 一个优秀的前端工程师,不仅能高效完成页面的开发,还能掌握和实践一系列前端工程化的技术,包括脚手架与项目脚本,测试体系、监控体系、项目规范、项目构建和打包、项目部署和运维

Vue网站性能优化 |

背景 公司的M站采用 vue 技术栈开发,为单页面应用,随着页面数量的增加,网站打包后的体积不断增大,访问网站时加载的资源体积也不断增大,造成首屏白屏的时间过长,这种现象在APP内嵌H5页面比较明显,所以有必要对M站进行优化,提升用户体验。下图可以看到目前M站页面打开时需要加载的js文件,其中体积最大的文件达到了1.3M,在网络环境比较弱的环境下,在APP内打开M站的页面,可以很明显得感觉到加载

心灵鸡汤

我的大学!

文/龙神

堂姐打来长途电话,说她孙子考进了阜阳师专。这小子是第三次收到大学录取通知书了,一家人高高兴兴送他上学,他却不好好读书,逃课玩游戏机,两次都终被勒令退学,气得他那八路军出身的革命爷爷血压蹭蹭往上蹿。真是个不知惜福的孩子。

一九六五年我上高三。那时的大学已经很难考,除了看成绩,家庭成分是录取的重要标准,“红五类”子女优先。班里56个同学,出身好的只有五六人。考不进大学找工作也难。最无奈的只好闲在家里吃老米饭,做社会青年。我是长女,弟妹一大群,家里正指望着老大早日出道,分挑经济重担呢。我只有发奋读书考进大学,才有出路。

天有不测之风云,寒假里我得了结核病,医生说要休学。马上就要高考,关键时刻折戟沉沙,我沮丧极了。父亲去学校替我办休学手续,母亲后来告诉我说,你爸夜里落泪呢。吃药、打针,一个月下来,病好些了。牵挂着课堂,我不甘心休养,就重拾课本自修起来。

那年月贯彻“教育与生产劳动相结合”方针,即使到了高三下,每周学生也要去工厂义务劳动半天。早上同学们去四川北路底的一家皮件厂,返校途中经过我家弄堂,大家常来看我。每次我都早早地等着,听同学们来了讲班级的趣闻、讲学习中的问题。他们走后,自己就赶紧补课。我用积攒下的一块三毛零用钱买了《古代散文选》上册,有看不懂的地方,便在书里嵌上小条。一天,同学们又来了,看见我顺手搁在桌上的书及小条,就关心地劝:“不能用功啊,当心身体。”没两天,我收到一封信,是位刚入团的同学寄来的,她姓招。“你虽病休在家,但一定要关心国家大事。要胸怀全球,放眼世界,不能将自己埋入古书堆,走白专的道路。”这是班上有同学在议论自己了,我觉得冤枉,也感到不安。彼时“文化大革命”的“号角”已经吹响,我不甘、也不敢做个落后分子啊。于是收起“封资修”的东西,每天听广播,到弄堂口邮局的报栏看报,我不能做《青春之歌》里的余永泽。

毕业即临,高考消息却杳无音信,而革命的风暴越刮越烈。五月末传这样的消息:北京四中的高三学生向党中央倡议:取消高考,因为大学是培养修正主义的温床。我的脑子顿时一片空白……从小学生时就做起的大学梦,从此破灭。

高考恢复时我已调到中学教书。学,然后知困;教、然后知不足,工作的实践让我深知自己才疏学浅,必须要再学习。当时报考大学要组织批准、党支部开介绍信才行。我真是顾虑重重:毕竟功课荒废了十几年,万一落第岂不贻笑大方?但是,为了学生,也为了圆大学梦,我要进考场。幸福的那天终于让我盼到了,听到我考上上海师范学院中文系时,父亲他连连说了几个“好”。

大学的同窗多为老三届高中生。开学不久,班长陈非把白底红字校徽发给大家,别好徽章的男生就自嘲开了:我们该是挂红底白字校徽的年龄啦!众人全笑,笑里有酸涩,有甘甜;有惶恐,更有期盼。晨钟暮鼓,寒窗苦读,所有的任课先生都说我们这一届的学生是最好的。毕业的那天聚会,捧着鲜红的毕业“派司”,同学们唱起了《友谊地久天长》。好几个女同学落泪了,我的眼眶也是湿的。

为了迟上的大学,为了过去的好时光,也为了从事夸美纽斯称赞的“太阳底下最光辉的事业”,我们这一代人无愧。

列表展示

主站展示位

分享一个 Vue 实现的回到顶部组件 |

为了提升网站的用户体验,我们通常会给网站的右下角添加一个回到顶部的按钮,最近工作中在忙的移动端网站就有很长的列表页面,如果不给页面加个回到顶部的按钮,用户肯定会抓狂。这个组件的实现思路也比较简单,核心是监听window的scroll事件,在页面滚动的过程中获取”window.pageYOffset || document.documentElement.scrollTop || document.

2021年的第一篇博客 |

时间过得好快,转眼间2021年又过去大半年了,计划做的事情完成得并不理想,希望在下半年能努力补回来。 想想最近的一个月发生了太多的事情, 最出乎意料的是5月底广州荔湾的疫情大爆发,上班族居家办公的居家办公,核酸检测的核酸检测,餐饮行业暂停堂食,大家都过得不容易,乘车乘地铁必须是穗康码绿码,必须量体温,进入公司园区也需要先扫码出示绿码通行证,测量体温,好在事情总是往好的方向发展,今天终于有一条好消息

浅析JavaScript闭包 |

引用维基百科:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。

为网站接入前端异常监控系统 Sentry |

背景众所周知,现在前端异常监控在实际生产环境中越来越重要了。通过给网站接入前端异常监控系统,我们能获得以下几个好处: 收集页面的错误信息 辅助定位代码错误位置 在用户报障前发现问题 这对于提升线上系统质量,降低线上故障数量,都具有非常重要的意义。相比于等待用户反馈故障,通过接入异常监控系统,能化被动为主动,缩短线上故障处理的流程和时间。

Better-Scroll在手机端横向滚动的应用 |

今天上班写页面的时候,遇到有个需求是做一个可以横向滑动的菜单,类似于小程序里面的scroll-view组件。当然,如果只是简单的使用overflow-y:scroll去实现横向滑动菜单的话,体验不怎么好,因为在左右滑动的时候,总会有一种卡顿不流畅的感觉,为了改善这种状况,我决定引入一个滴滴前端团队的某位成员开源的滚动插件:better-scroll,不过这个插件使用比较多的场景还是在竖直方向的下拉

这次彻底搞懂JavaScript中的原型与原型链 |

曾经以为遥遥无期的2022年,转眼就到了。自大学本科毕业以来,从事前端开发行业也有五年了,对于日常工作中的业务需求开发基本都已游刃有余,但总感觉自己还存在很大的提升空间,也许是遇到大家口中常说的每隔三年五年就会面临的上升瓶颈了吧。 一个优秀的前端工程师,不仅能高效完成页面的开发,还能掌握和实践一系列前端工程化的技术,包括脚手架与项目脚本,测试体系、监控体系、项目规范、项目构建和打包、项目部署和运维

都2202年了,你还不懂JavaScript的执行上下文和执行栈? |

前言作为一名 JavaScript 开发者,那么你是必须要知道 JavaScript 程序内部的执行机制的。执行上下文和执行栈是JavaScript中非常关键的概念之一, 理解执行上下文和执行栈同样有助于理解其他的 JavaScript中的其他 概念如变量提升、作用域和闭包等。本文尽可能帮助你搞懂执行上下文和执行栈相关概念。

你一定是闲得蛋疼才重构的吧【转载】 |

前言 今天周末,浏览订阅的公众号的时候,发现了这篇非常具有指导意义的文章。因为自己最近几个月的工作一直都是维护一个老旧的项目,想要重构它需要一定的魄力和资源允许,而且这个项目跟奇舞团技术团队重构的项目具有一定的相似度,所以我把这篇文章转载到自己的博客之下,希望在将来如果要重构项目可以拿它作为参考,本篇博客的结尾有标记文章来源,在此感谢奇舞团技术团队。以下是正文。

钉钉小程序通过 Canvas 将页面生成图片并保存到本地相册 |

背景 最近公司有个账户充值业务场景需要从线下支付迁移到线上支付: 线下支付场景:客户通过 POS 机付款或者扫码销售同学提供的付款二维码进行付款来完成支付,之后销售同学将相关信息录入到 CRM 后台,财务审核通过后才正式完成充值流程。 线上支付场景:销售同学先在 CRM 钉钉小程序中录入充值信息后生成订单,然后系统生成支付宝或者微信付款码,销售同学将付款码页面生成的图片发送给客户,客户付款后即完

vuex mapState 函数源码浅析 |

为了加深对vuex的理解,今天下午的时候刚好有空,所以就挑了vuex的辅助函数 mapState 的源码简单分析了下,顺便写这篇博客记录下来,在分析源码之前,我们先来回顾一下mapState的用法。对于使用过vuex的朋友来说,应该都知道mapState可以将store中的state映射为vue组件的计算属性,通过使用mapState可以减少代码的重复和冗余:

关于个人能力与姿态的一些思考 |

时间过得非常快,2021年已经到站了,回想年初的计划,有不少没有完成或者完成得不如预期,做得比较符合预期的也就只有关于前端框架源码学习方面,在工作之余阅读完了 Vue 生态相关的框架和插件的源码,包括Vue/Vuex/Vue-Router,后续有时间我会把阅读源码的笔记和自己的思考整理发出来。今天不想聊学习,谈谈我对个人能力与姿态的一些思考。

Hexo 博客部署到私有云服务器 |

前言喜欢分享是程序员的天性,所以大部分的程序员都会有一个自己的博客,里面的内容可以是一些工作中遇到的问题和解决思路,也可以是最近学习到的新技术的总结,也可以是对生活的思考和感悟。搭建个人博客的方式也有很多,可以直接在第三方博客平台上写作,如掘金、博客园、CSDN 等等,也可以使用 hexo 搭建博客部署到 github pages,当然如果拥有私有云服务器的还可以在上面借助 wordpress 博

linux设置自动续签Let's Encrypt SSL证书 |

之前给网站部署了Let’s Encrypt的免费SSL证书,但这个证书的有效期是90天,到期的时候需要自己手动续签,否则的话网站会打不开。但是每次都手动续签的话不仅很麻烦而且很容易忘记掉,所以还是借助linux的crontab自动任务靠谱一些。

Docker安装自动化部署工具Jenkins |

刚刚安装好Docker,现在接着安装自动化部署工具Jenkins。 拉取docker jenkins镜像 $ docker pull jenkins:latest

关于个人能力与姿态的一些思考 |

时间过得非常快,2021年已经到站了,回想年初的计划,有不少没有完成或者完成得不如预期,做得比较符合预期的也就只有关于前端框架源码学习方面,在工作之余阅读完了 Vue 生态相关的框架和插件的源码,包括Vue/Vuex/Vue-Router,后续有时间我会把阅读源码的笔记和自己的思考整理发出来。今天不想聊学习,谈谈我对个人能力与姿态的一些思考。

如何部署hexo博客到VPS服务器上 |

作为一个勤奋的程序员,通常都会有一个自己的技术博客,用于记录日常的学习体会或总结,搭建博客的方式也有很多,如果自己没有vps服务器,那么可以在博客园、CSDN、SegmentFault等网站注册账户进行博客的写作,如果有自己的vps服务器,那么可以搭建更加灵活的wordpress、typecho等博客网站。

Hello World |

“Hey It works! ” 今天终于把博客搭建好了。 作为一个喜欢折腾的人,总也喜欢尝试一些新鲜的东西。虽然不知道自己会不会经常来这里写东西,但还是把博客搭建起来,给自己一个涨姿势的机会。很久之前就开始关注使用GitHub Pages + Jekyll 搭建Blog,觉得挺有意思的,于是开始在网上搜集资料,结合官方文档介绍,在本地把环境搭建起来,到今天算是把整体框架搞定了。

Vue网站性能优化 |

背景 公司的M站采用 vue 技术栈开发,为单页面应用,随着页面数量的增加,网站打包后的体积不断增大,访问网站时加载的资源体积也不断增大,造成首屏白屏的时间过长,这种现象在APP内嵌H5页面比较明显,所以有必要对M站进行优化,提升用户体验。下图可以看到目前M站页面打开时需要加载的js文件,其中体积最大的文件达到了1.3M,在网络环境比较弱的环境下,在APP内打开M站的页面,可以很明显得感觉到加载

Node初学者入门教程(转载) |

这是一篇通俗易懂的入门教程,虽然作者写这篇教程的时候,node的版本还比较低,但至今仍旧是一篇非常好的扫盲读物,看完起码对node会有一个更全面的认识。原文作者是 Manuel Kiessling,译者 goddyzhao & GrayZhang & MondayChen,以下是译文原文。

博客寄语:

    前端农民工,即将奔三,心却依旧少年。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。