JavaScript的数组详解

前言

在一篇文章中看到学习技术一般两种方法论,一是项目驱动,狼吞虎咽般吸收知识,不过多关注细节;另外一种是求知驱动,反刍过程,在这个过程中,不应该放过任何你有疑问的知识。深究下去,搞明白具体是怎么回事,然后总结,分享。
本着这个行为准则,上个礼拜在写代码中遇到了两个关于数组方法的问题,一时没有想起来,于是重新翻开犀牛书,重新复习、查缺补漏。

阅读全文

基于localStorage和AngularJS的markdown简易笔记本

在之前markdown编辑器的基础上,再演化成一个基于localStorage的markdown简易笔记本。
上一篇基于AngularJS打造的markdown笔记本点击这里查看
先来看效果图:
angular

阅读全文

《暗时间》读书笔记

一本豆瓣评分8.5分的书,忘记是从哪个地方了解到这本书,只记得被暗时间这个书名吸引了,于是第一时间看起来了。第一篇顺着目录,挑着感兴趣的话题读了一遍。第二遍的时候,从头到尾,一字一句得看完了。本来这篇读书笔记应该在更早的几天就该完成了,可是总是想着等做完思维导图才开始动笔写。然而这思维导图憋了几天也没完成,于是索性先放弃思维导图,转向写文章了

阅读全文

深入理解JavaScript中的call和apply

本文利用主动提问的学习方法来学习JavaScript中的call和apply

阅读全文

《如何培养技术洞见力》-读后感

前言

前几天从开发者头条看到了《如何培养技术洞见力》这篇文章,文中提到了为什么同样是看了一篇文章,听完一场演讲或者是看完一本书,普通人只是会觉得“哇哦,好厉害,好有道理”。然而那些所谓的大神却能从这些信息中获取到最有用的信息,而不只是赞叹。为什么会产生这种区别呢?作者认为最本质的原因在于:他们能够基于信息做有效的深度思考,而这种深度思考能力最直接的体现就是“洞见力”。所谓“洞见力”就是指一个人对某件事物的认知程度和ta自己的“分析结论”,是个人主观的看法和评价。洞见力的不同决定了一个人的思想深度。事实证明,一个人如果没有自己具备独立的深度思考能力,就很难有自己的洞见甚至创造。

阅读全文

基于AngularJS的markdown编辑器

由于这段时间已经是变成了markdown重度使用者了,因此就想着自己折腾一个markdown编辑器,发布在github pages上面。这样就可以实现了一个在线markdown编辑器。

技术栈

    阅读全文

    Git规范

    经过半年的开发,现在公司内部已逐渐形成比较规范的Git规范,从分支到工作流程到发布打Tag,都形成了一套规范。特此总结下。

    Git规范

    主要从以下三个方面介绍Git规范:

    阅读全文

    关于离职的思考

      在拿到了宅米的offer之后,便向上司提出了离职了。这是我在添米提的第二次离职。相比较上一次,这次的提出离职的过程让我思考颇多,跟上司,跟CEO直接对话沟通。也跟爸爸、姐姐交流了我的想法和困惑。思考能不断成长,记录总结则能巩固你的思考结果。
      提出离职后,先是被上司谈话了。真的是晓之以情动之以理,希望我能留下来。作为一名资深程序员,大公司和创业公司都待过的他,给出的建议确实非常得中肯。其中他提到如何看待跳槽的本质我觉得非常有道理。对于不同的人跳槽是有不同的目的。如果你是为了钱而跳槽,那么跳槽的本质就要回归到钱上面了。薪资只是一个衡量的维度,并不能因为对方的薪资看起来比较高,就觉得性价比更高。但其实不然,更应该比较的是你的时薪。他以一个很典型的例子举例说明了这个问题:
      “有两份工作A和B,A月薪10k,但是很轻松,有比较多的时间可以自我成长;B月薪有15k,但是工作时间久,经常晚上和周末加班。如果比较月薪的话,B似乎占有优势,但是我们将A、B工作分别转换成时薪再来对比一下。这里假设A每日工作8个小时,每周工作5天,每个月算4周,时薪为(8x5x4)/10000 = 62.5;B则是996(早上9点到晚上9点,每周上6天),时薪为 (12x6x4)/15000 = 52”。通过比较时薪就可以看出来,其实B工作的时薪并没有比A工作高。因此在跳槽的时候,如果更看重薪资的涨幅的话,那么你就不应该作为时薪的比较。默默算了下自己的时薪只有53元/小时,还得继续努力!
      上司谈话结束后,又接着被CEO约谈了。先是一番好话说尽,然后加薪,比对方公司给的多(能被挽留说明你有存在的价值)。谈完薪资后,CEO就开始在传授着一些人生道理。果然听君一席话胜读十年书。CEO很少给我们灌心灵鸡汤,反而一直都是在灌输着心灵毒药,让我们认清现实的世界。其中几点我感触颇深:

    阅读全文

    如何在安卓和iOS中清除微信浏览器的缓存

    在做微信移动页面开发时,若需要清除缓存,对于Android和iOS平台的清除方法如下:

    iOS

    iOS的微信浏览器中自带刷新按钮。点击微信右上角的菜单->刷新,,即可刷新页面实现清除缓存。

    阅读全文

    关于AngularJS的一些坑

    本文是搜集学习AngularJS和开发中收集的一些坑。持续更新。

    阅读全文

    【随笔】入坑机械键盘

    入手人生第二机械键盘

    阅读全文

    【读书笔记】JavaScript闭包的理解

    以前一直都不能完全理解闭包的概念,于是就专门学习了下闭包,整理成这篇文章。

    阅读全文

    【你不知道的JavasSript(上)读书笔记】第2章:词法作用域

    该系列是《你不知道的JavaScript(上)》的读书笔记。记录成文字,加深学习印象。

    阅读全文

    【你不知道的JavasSript(上)读书笔记】第1章:作用域

    该系列是《你不知道的JavaScript(上)》的读书笔记。记录成文字,加深学习印象。

    阅读全文

    【JavaScript高程学习笔记】面向对象的程序设计之继承

    本篇文章是学习《Javascript高级程序设计》中关于继承这一部分的学习笔记。

    阅读全文

    深入理解变量声明提升和函数声明提升

    最近做题目遇到了关于变量声明提升和函数声明提升的知识点,觉得掌握得不是非常好,因此特地又翻开了犀牛书,重新深入学习,并整理成文章。

    阅读全文

    【JavaScript高程学习笔记】面向对象的程序设计之对象

    本篇文章是学习《Javascript高级程序设计》中关于对象这一部分的学习笔记。

    阅读全文

    AngularJS动态加载模块和依赖

    由于AngularJS是单页面应用框架,在正常的情况下,会在访问页面的时候将所有的CSS、JavaScript文件都加载进来。文件不多的时候,页面启动速度倒不会影响太多。但是一旦文件数太多或者加载的第三方库比较大的时候,就会影响页面启动速度。因此对于应用规模大、文件数比较多或者加载的第三方库比较大的时候,采用动态加载JS或者动态加载模块会极大提升页面的启动速度。本文将介绍如何利用ocLazyLoad实现动态加载。

    阅读全文

    Hexo博客搭建教程(四):Hexo优化与个性化

    前面的文章介绍了如何打造一个属于自己的博客。但是这个博客还只是拥有基本的功能。对于一个站点而言,我们还需要很多功能来完善它,比如需要网站访问统计数据,网站评论功能等。这篇文章将从以下几个方面介绍如何自定义你的博客。

    • 添加统计代码
    • 添加多说评论功能
    • 如何添加本地图片

    阅读全文

    Hexo博客搭建教程(三):Hexo博客代码版本控制

    由于Hexo只会将生成后的public文件夹部署到github上,导致无法对博客进行代码版本控制。同时如果需要备份代码的话,只能通过其他手段来实现。
    本文介绍了如何利用github分支对代码进行版本控制,同时起到备份代码的作用。

    阅读全文