随笔分类 -  JavaScript

保存记忆碎片
摘要:一、DOMContentLoaded 与 load 事件 关于 DOMContentLoaded 和 load 事件,MDN对他们是这样描述的:DOMContentLoaded 文档地址、load 文档地址。 DOMContentLoaded 意思就是:当初始的 HTML 文档被完全加载和解析完成之 阅读全文
posted @ 2020-03-17 20:45 奋起直追 阅读(1366) 评论(0) 推荐(0) 编辑
摘要:转化为Boolean类型所有JavaScript中的值都能隐式的转化为Boolean类型,比如: 0 == false; // true 1 == true; // true '' == false // true null == false // true 但是这些值都不是Boolean类型。因此 阅读全文
posted @ 2020-02-15 20:19 奋起直追 阅读(152) 评论(0) 推荐(0) 编辑
摘要:声明前置 变量的声明前置:指在变量被定义时,会在代码执行之前将变量放在最前面进行初始化。 函数的声明前置:会将函数声明放在代码执行之前先去生成该函数,所以函数声明受到函数提升机制的影响,所以无论放在什么位置都可以被调用。 作用域 每当声明一个新的函数就进入一个新的作用域下; 函数里需要用到的变量(或 阅读全文
posted @ 2020-02-15 19:19 奋起直追 阅读(201) 评论(0) 推荐(0) 编辑
摘要:经常code review,我发现很容易写出一堆冗长的代码。今天就列几个比较常见的“解决之道”,看看如何减少JS里的条件判断。 提前返回,少用if...else 但是过多的嵌套,还是挺令人抓狂的。这里有一个很典型的条件嵌套: function func() { var result; if (con 阅读全文
posted @ 2020-02-14 21:34 奋起直追 阅读(642) 评论(0) 推荐(0) 编辑
摘要:在日常开发中有很多场景我们都需要用到节流函数和防抖函数,比如:实现输入框的模糊查询因为需要轮询ajax,影响浏览器性能,所以需要用到节流函数;实现手机号、姓名之类的的验证,往往我们只需要验证一次,这个时候我们就需要用到防抖函数;但是网上的很多资料都是不够具体和便于理解。今天自己翻阅了一些资料之后,来 阅读全文
posted @ 2020-02-14 18:06 奋起直追 阅读(651) 评论(0) 推荐(0) 编辑
摘要:前端正则表达式书写 一.写法 写法一 /正则表达式/修饰符 修饰符 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) 例子:/a/gi 查找内容中的a 不写修饰符默认只匹配一个 写法二 let a = new RegExp('/正则表达式/','修饰符'); 二.常用几 阅读全文
posted @ 2020-02-12 10:48 奋起直追 阅读(378) 评论(0) 推荐(0) 编辑
摘要:前言 JavaScript在ES6之前严格意义上是没有像JAVA,C#这种语言中类的概念的。ES6添加了class,但其实这个class也只是ES6以前的构造函数和原型的语法糖而已。要想真正了解JavaScript中最复杂的部分,就得从最初的构造函数和原型讲起。 类 在ES6以前,我们是这样实例化一 阅读全文
posted @ 2020-02-11 20:06 奋起直追 阅读(255) 评论(0) 推荐(0) 编辑
摘要:闭包,其实是一种语言特性,它是指的是程序设计语言中,允许将函数看作对象,然后能像在对象中的操作般在函数中定义实例(局部)变量,而这些变量能在函数中保存到函数的实例对象销毁为止,其它代码块能通过某种方式获取这些实例(局部)变量的值并进行应用扩展。 我们的理解: 其实闭包就是一个函数,一个外部函数通过调 阅读全文
posted @ 2020-02-11 19:17 奋起直追 阅读(274) 评论(0) 推荐(0) 编辑
摘要:我们知道 js 是单线程执行的,那么异步的代码 js 是怎么处理的呢?例如下面的代码是如何进行输出的: <script> console.log(1); setTimeout(function () { console.log(2); }, 0); new Promise(function (res 阅读全文
posted @ 2020-02-09 20:53 奋起直追 阅读(377) 评论(0) 推荐(0) 编辑
摘要:概要了解Javascript历史以及Javascript三个不同组成部分:ECMAScriptDOM(文档对象模型)BOM(浏览器对象模型)ECMAScript目标掌握Javascript语法,熟悉对象的定义和使用,能熟练使用Javascript进行web开发。要点了解ECMAScript历史以及浏... 阅读全文
posted @ 2015-12-06 20:56 奋起直追 阅读(1210) 评论(0) 推荐(0) 编辑
摘要:Javascript是一种基于原型的对象语言,而不是我们比较熟悉的,像C#语言基于类的面向对象的语言。在前一篇文章中,我们已经介绍了Javascript中对象定义的创建。接下来我们来介绍一下Javascript对象的继承。我们通过一个例子来介绍对象继承实现的几种方法。 比如,现在有一个“水果”的构造 阅读全文
posted @ 2014-09-27 09:39 奋起直追 阅读(400) 评论(1) 推荐(0) 编辑
摘要:Javascript是基于对象模型设计的一种编程语言,它的核心(ECMAScript)具有非常强大和灵活的面向对象编程的能力。什么是对象?在javascript中,对象是一个拥有属性和类型的独立实体。ECMA-262 把对象(object)定义为"属性的无序集合,每个属性存放一个原始值、对象或函数”... 阅读全文
posted @ 2014-09-21 13:45 奋起直追 阅读(441) 评论(0) 推荐(0) 编辑
摘要:函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这些属性和方法,这对于理解Javascript的继承机制具有一定的帮助。属性(Properties)arguments获取当前正在执行的 Function 对象的所有参数,是一个类似数组但不是数组... 阅读全文
posted @ 2014-09-14 21:45 奋起直追 阅读(19555) 评论(2) 推荐(3) 编辑
摘要:近日,收到用户报过来一个bug,调试下来发现,javascript中string对象按照数组取值方式在IE8+就不再支持,具体可以试一下下面的这个例子:var temp = "My name is LionTone.";var firstCharacter = temp[0];alert(firstCharacter);上面这个例子在IE7-就会弹出字符“M”,但是在IE8+就是未定义的。当然这本来也就不是很规范取字符的做法,希望大家以后碰见这样的问题最好注意一下,要使用以下的方法:var temp = "My name is LionTone.";va 阅读全文
posted @ 2011-06-03 10:07 奋起直追 阅读(179) 评论(0) 推荐(0) 编辑