随笔分类 - JAVASCRIPT
javascript相关知识点
摘要:都知道vue是JavaScript驱动。vue最终生成的是dom片段,是一种对其挂载数据设置监听的dom片段。 实际上,早期开发就有这种简单形式。 一,最早的使用document.createElement的dom片段 <div id="app"></div> <script> const appD
阅读全文
摘要:把开发这件事放在生活中观察 一,HTML 懂得HTML是怎么回事? 我们借助html建设互联网 完完全全可以类比建筑学,只不过是在互联网上的 所以说也是再改变世界 那么html是结构 二,CSS css是结构的外观 三,Javascript 当然又不仅仅是建筑学,因为JavaScript所以是可以交
阅读全文
摘要:按照我的学习理论,不管学习什么一定是要有一定数量的练习的。 所以根据这个我打算将常见的开发场景做个总结,最近也正在做这件事,包括前一阵子遇到的面试题也一并整理了,为此我建立了一个项目: https://github.com/zhensg123/importantJavaScriptExample 列
阅读全文
摘要:数组的遍历有多种方法,也有多种形式。 对象的遍历除了for in,当对象数据多层嵌套时候,遍历的方式又可以分深度优先遍历和广度优先遍历。那么怎么实现呢? 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8">
阅读全文
摘要:都知道vue-cli用来生成vue的项目模板 在之前公司我们有一个基于vue-cli创建的项目模板,这个模板积累了我们的常用配置和发布在私服npm的ui组件,这个时候要是有一个脚手架,通过命令行工具下载项目模板这样是不是更高大上一些。 这样的背景之下参考了其他脚手架方案,开发了zhen-cli。后来
阅读全文
摘要:transition和animation的对比 transition和animation可以实现一些同样的效果。比如相关尺寸和透明度的变化。 transition和animation都可以用逗号分隔,针对1个以上的属性单独进行设定。 1 .div.opacity { 2 transition: wi
阅读全文
摘要:这个问题有个坑:假如对象的属性是通过Object.defineproperty()定义的,然后设置为不可枚举。 这种情况下: 1)Object.keys()不可以获取到不可枚举属性 2)for in 不可遍历不可枚举属性 3)JSON.stringify忽略不可枚举属性 所以上面几种都不可用,而正确
阅读全文
摘要:1,最大并行请求数固定,比如2个,方案是记录当前并行的数量curcount,利用递归持续发出请求 1 class asyncPromise { 2 constructor() { 3 this.maxcount = 2 // 最大数 4 this.curcont = 0 // 当前请求数 5 thi
阅读全文
摘要:确定知识体系项目内外知识分为两条线,基本结构图片所示,后期按照这个扩展、细化、练习。想来经过一段相对漫长的时间最终确定下来这个,也优化了几年前的认知方式。 人的精力是有限的,建立知识体系是将心思集中到更具有价值的位置上,否则胡乱学习终归是迷惑而无所得。 建立相对不变的知识体系,才能够不断迭代知识点。
阅读全文
摘要:模块化的基础是IIEE 本文对模块化做一下总结。 模块化是工程化的基础:只有能将代码模块化,拆分为合理单元,才能使其具备调度整合得的能力,才有架构和工程一说。 什么是模块化? 对于一个复杂的应用程序,与其将其所有代码全部放在一个文件中,不如按照一定的语法,遵循确定的规则将其拆分到几个相互独立的文件中
阅读全文
摘要:框架或者库最早从jquery开始,我把jquery称之为传统的库。而vue、react、ng为现代化的库。 jquery是2006年发布1.0版本,2013 年 5 月react开源,vue是2014年对外发版。 jquery在使用过程中多半充当的是库的作用,相对现在前端框架有以下几个共同点: 1,
阅读全文
摘要:差劲的程序员操心代码,优秀的程序员操心数据结构和它们之间的关系 ————Linus Torvalds,Linux创始人 Flux是由facebook推出的,用来解决MVC架构带来的数据管理问题。 Flux是一种“单项数据流”的管理方式。 在以前,采用MVC架构,MVC无法禁绝View和Model之间
阅读全文
摘要:apply作用是改变this的指向。在js中有两种方式改变this的指向。一种是显式的也就是apply、call和bind;另外一种就是隐式的。 因此手动实现apply也就至少有两种方法。 利用隐式绑定。 Function.prototype.myapply1 = function(target,
阅读全文
摘要:异步管理一直是前端开发的一个重点。 就多个promise的顺序执行,总结了下面几种方案。 使用回调的方案,也是最传统的方案 const f1 = ()=>new Promise((resolve, reject)=>{ setTimeout(()=>{ console.log('p1 runing'
阅读全文
摘要:在各种教材中,数据以及数据类型都是首先要讲的。在我看来数据以及数据类型是对问题的基本建模单元。 前端JavaScript基本数据类型:Undefined、Null、String、Number、Boolean。 然后是复合数据类型:Object。 前端乃至其他语言的数据结构:栈、队列、链表、散列、集合
阅读全文
摘要:移动端页面随着滑动的dom越来越长,会出现卡顿的现象,进而降低用户体验,于是可视区渲染方案出来。 可视区渲染就像一句话说的:敌不动我动,山不就我我就山。 可视区渲染原理: 1,有个滚动区域,下面的content类,要求overflow:auto,也就是可以使用滚动;在实际项目开发中这个根据可视区窗口
阅读全文
摘要:如空中楼阁,虽然一再深化对开发的理解,但终究觉得还是差点意思。 今天灵光乍现。 最早从研究生开始我用母题的概念给题目归类,总结题目之间的区别。而实际上母题的概念转化到开发中是不变,而根据母题衍生出的各种题目则是变化。 对,就是不变和变化。 开发的本质也是不变和变化。 对于开发来说不变的是API(开
阅读全文
摘要:本文系常见问题总结文章之一,具体归属于常见设计模式。 打算出常见系列,常见设计模式、常见算法、常见数据结构、常见业务场景。 什么场景下适合命令模式? 有时候需要向某些对象发送命令请求,但是并不知道请求的接受者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求的发送者和接
阅读全文
摘要:在曾探的《Javascript设计模式与开发实践》中,有这样一段话: 设计模式在很多时候其实都体现了语言的不足之处。Peter Norvig 曾说,设计模式是对语言不足的补充,如果使用设计模式,不如去找一门更好的语言。这句话非常正确。 而在我看来,语言未必要封装设计模式,设计模式也不必须封装在语言内
阅读全文
摘要:我现在认为之前之所以对原型链混淆以及莫名其妙根本原因在于我一开始就没有搞清楚到底什么是原型。 之前也看过不少其他人写的关于原型链的解释,但是越看越糊涂。 我现在觉得要想搞清楚这个问题应该从0开始,先从__proto__开始。 看一下下面分析过程 对象数据实际是跟着一个__proto__属性的。而实际
阅读全文


浙公网安备 33010602011771号