随笔分类 -  JavaScript

摘要:作为一个前端开发人员,每次看到浏览器控制台信息里面红通通的报错信息是不是都很紧张......不要怕,下面我们就来讨论一下前端的异常捕获。 异常捕获,相对于其他知识点可能没那么被重视,特别是对于前端程序员。但不得不说,这又是一个不得不面对的知识点。 为什么要捕获异常 首先,我们为什么要进行异常捕获和上 阅读全文
posted @ 2020-01-12 21:28 奔跑的瓜牛 阅读(6136) 评论(0) 推荐(3)
摘要:我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化。NodeJS诞生之后,它使用CommonJS的模块化规范。从此,js模块化开始快速发展。 模块化的开发方式可以提供代码复用率,方便进行代码的管理。通常来说, 一个文件就是一个模块,有自己的作用域,只向外暴 阅读全文
posted @ 2020-01-05 19:49 奔跑的瓜牛 阅读(21566) 评论(2) 推荐(9)
摘要:思考一下,为什么有字符编码这种东西? 当然是为了让计算机“听话”呗。我们知道,计算机的世界只有01这两个字符,而我们现实世界有成千上万的字符。如何用01的组合去和现实中的字符一一对应呢?这就是需要制定相应的编码规则来实现了。明白了这点,我们正式开始编码的讲解。 ### ASCII码 我们知道,**在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种... 阅读全文
posted @ 2019-11-10 22:30 奔跑的瓜牛 阅读(1761) 评论(0) 推荐(5)
摘要:先来公布答案:console.log([] == ![]) // true,是不是很酷。==还有个好兄弟—— ,下面就来看看哥俩到底干了啥... == 的运行机制 ==运算符为确定两个运算数是否相等,会对左右两边运算数进行类型转换。 执行类型转换的规则 如果一个运算数是Boolean值,在检查相等性 阅读全文
posted @ 2019-05-25 19:28 奔跑的瓜牛 阅读(851) 评论(0) 推荐(0)
摘要:这里会扩展一些JS常用时间处理方法,内置时间对象的方法不再赘述 —— 传送门: 时间格式化 转换为:yyyy MM dd hh:mm:ss格式 某一天所在星期范围 // 参数:‘2019 03 05’ || 时间对象 // 结果:‘2019 03 04 至 2019 03 10’ function 阅读全文
posted @ 2019-03-07 13:13 奔跑的瓜牛 阅读(6910) 评论(0) 推荐(0)
摘要:在学习vue移动端音乐项目时,看到一个打乱数组函数,感觉很有意思就记录一下( 意外发现: slice是个有趣的知识点) 原理:遍历数组,(let i = 0; i 阅读全文
posted @ 2019-02-23 21:19 奔跑的瓜牛 阅读(3596) 评论(0) 推荐(0)
摘要:上班之余,记录一下工作中遇到的有趣问题... 事情是这样的...在做一个内嵌H5的app时,有一个“个人名片”页面...要求:如果后台接口有给头像的图片链接就用他们给的,如果没给,前端给个默认头像...测试过程中发现,接口的图片链接有可能是无效的,就像这样一个链接http://www.test.co 阅读全文
posted @ 2018-08-21 15:56 奔跑的瓜牛 阅读(12173) 评论(5) 推荐(7)
摘要:最近在工作中遇到一些问题,大致是关于js执行问题的。由于没搞清执行顺序,导致出现了一些奇怪的bug。 所以这里整理一些有关异步执行的知识(冰山一角角)... 大家都知道js是单线程的,执行起来是顺序的,在顺序的业务逻辑中当然没有问题。如果遇到可以并发执行的业务逻辑,再排队就很低级了,所以需要异步执行 阅读全文
posted @ 2018-07-15 16:41 奔跑的瓜牛 阅读(1484) 评论(0) 推荐(0)
摘要:JavaScript不是一门真正的面向对象语言,因为它连最基本的类的概念都没有,因此它的对象和基于类的语言中的对象也会有所不同。ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。” 严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字, 阅读全文
posted @ 2017-06-20 20:16 奔跑的瓜牛 阅读(1419) 评论(4) 推荐(1)
摘要:先说一些有关键盘事件的事项:用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键 阅读全文
posted @ 2017-06-19 18:39 奔跑的瓜牛 阅读(2033) 评论(0) 推荐(0)
摘要:JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。 1、事件流:描述的是从页面中接收事件的顺序。 IE提出的事件冒泡流:事件开始由最具体的元素接收,然后向上传播到较为不具体的节点。 Nerscape提出的事件捕获流:由最不具体的元素逐渐传 阅读全文
posted @ 2017-06-18 20:59 奔跑的瓜牛 阅读(994) 评论(0) 推荐(0)
摘要:也许大家对于函数的参数都不会太在意,简单来说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。深入研究,你会发现其实没那么简单,这个传参是要分俩种情况(其实这是个错误的说法,ECMAScript中所有函数的参数都是按值传递的——《高程3》原话,之所以这里说俩种,是因为结合 阅读全文
posted @ 2017-06-14 16:31 奔跑的瓜牛 阅读(73180) 评论(16) 推荐(4)
摘要:DOM 是 Document Object Model(文档对象模型)的缩写。DOM分为核心DOM、XML DOM、HTML DOM,我们接触的主要是HTML DOM,HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。换言之,HTML DOM 是关于如何获取、修改、添加或 阅读全文
posted @ 2017-06-13 22:47 奔跑的瓜牛 阅读(492) 评论(0) 推荐(0)
摘要:写在前面的话:这篇博客不适合对面向对象一无所知的人,如果你连_proto_、prototype...都不是很了解的话,建议还是先去了解一下JavaScript面向对象的基础知识,毕竟胖子不是一口吃成的。博文有点长,如果能仔细看懂每一句话(毕竟都是《高程3》的原话),收获不容小觑。有关面向对象的基础知 阅读全文
posted @ 2017-06-10 23:45 奔跑的瓜牛 阅读(8826) 评论(0) 推荐(0)
摘要:变量,作为编程语言最基础的部分,每种语言的变量不尽相同,但又大径相庭。大部分编程语言的变量有块级作用域,如if、for、while... 但JavaScript不纯在块级作用域,而是函数作用域,并且有自己独有的特性--变量提升。(ES6新添加的let、const使其可以用块级作用域) 对于函数的变量 阅读全文
posted @ 2017-06-07 23:18 奔跑的瓜牛 阅读(630) 评论(0) 推荐(0)
摘要:一直以来,对this的讨论都是热门话题。有人说掌握了this就掌握了JavaScript的80%,说法有点夸张,但可见this的重要性。至今记录了很多关于this的零碎笔记,今天就来个小结。 本人看过对this解释的最简单的说法:谁调用这个函数,this指向谁。 好啦,就是这么简单。下面再来具体说一 阅读全文
posted @ 2017-04-26 18:55 奔跑的瓜牛 阅读(425) 评论(0) 推荐(0)
摘要:关于js的宽高,随便一搜就是一大堆。这个一大堆对我来说可不是什么好事,看的头都大了。所以今天就总结了一些比较会常用的,并说明一下应用场景。 先来扯一下documentElement和body的微妙关系: documentElement html >> documentElement.childNod 阅读全文
posted @ 2017-04-22 11:47 奔跑的瓜牛 阅读(321) 评论(0) 推荐(0)