随笔分类 -  Javascript

摘要:先看下面一个小例子的结果 从上面的结果我们发现,我们发现同样是一开始就获取了ul的子列表,但是通过.querySelectorAll获取的子列表,在创建列表前和创建列表后,长度都为0,而通过.children方法获取的字列表,在列表创建前,长度为0,而创建之后,长度为10,为什么呢? 使用.chil 阅读全文
posted @ 2019-04-01 23:25 笠航 阅读(4543) 评论(0) 推荐(0) 编辑
摘要:如果闭包的作用域中保存着一个 HTML 元素,则该元素无法被销毁。(下面代码来自高程) 刚看到一个关于闭包自己没注意到的地方, 以上代码创建了一个作为 ele 元素事件处理程序的闭包,而这个闭包有创建了一个循环的引用,由于匿名函数保存了一个 assgin() 的活动对象的引用 ,因此无法减少对 el 阅读全文
posted @ 2019-04-01 23:21 笠航 阅读(249) 评论(0) 推荐(0) 编辑
摘要:let声明的变量在{}中使用,变量的作用域限制在块级域中 举例:使用js动态给ul添加li对象并点击第几项,显示当前点击是第几个 错误代码 闭包方式: let声明方式: 说明:采用的闭包的方式在绑定的时候已经把j的值已经传递给对应的click事件了,所以能够实现相同的结果,但是,从程序的可维护性来说 阅读全文
posted @ 2019-04-01 22:57 笠航 阅读(395) 评论(0) 推荐(0) 编辑
摘要:document.createDocumentFragment document.createDocumentFragment()方法创建一个新空白的DocumentFragment对象。 DocumentFragments是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附 阅读全文
posted @ 2019-04-01 21:56 笠航 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1.createDocumentFragment()方法,是用来创建一个虚拟的节点对象,或者说,是用来创建文档碎片节点。它可以包含各种类型的节点,在创建之初是空的。 2.DocumentFragment节点不属于文档树,继承的parentNode属性总是null。它有一个很实用的特点,当请求把一个D 阅读全文
posted @ 2019-04-01 21:46 笠航 阅读(3531) 评论(0) 推荐(1) 编辑
摘要:1.创建链接 <script language="javascript"> var o = document.body; //创建链接 function createA(url,text) { var a = document.createElement("a"); a.href = url; a. 阅读全文
posted @ 2019-04-01 04:10 笠航 阅读(1750) 评论(0) 推荐(0) 编辑
摘要:当元素本身为display:none 时,若此时我们想通过js先将其变为display:block 并且随后再触发其他想要的transition过渡效果,需要在 js改变其为display:block 后用setTimeout延迟100ms左右的时间再去设置其他过渡动画,否则该过渡动画不会触发。 另 阅读全文
posted @ 2019-03-31 18:34 笠航 阅读(15426) 评论(0) 推荐(2) 编辑
摘要:我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法。 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等。判断的特征越多 阅读全文
posted @ 2019-03-31 04:49 笠航 阅读(2656) 评论(1) 推荐(0) 编辑
摘要:一,两个(或多个)js异步并发执行,怎么在两个AJax异步操作之后执行一个新的操作 原题来自 ES6 方法 1.Promise 包装异步ajax操作,2.定义async 函数,3.用await等待promise数据异步获取完成这一种方法简洁高效,下面请看我专门给你写的示例代码我懒得用ajax获取数据 阅读全文
posted @ 2019-01-13 01:30 笠航 阅读(6953) 评论(0) 推荐(0) 编辑
摘要:劫持产生的原因和方式 在网页开发的访问过程中,http是我们主要的访问协议。我们知道http是一种无状态的连接。即没有验证通讯双方的身份,也没有验证信息的完整性,所以很容易受到篡改。运营商就是利用了这一点篡改了用户正常访问的网页,插入广告或者其他一些杂七杂八的东西,达到盈利的目的。 运营商的一般做法 阅读全文
posted @ 2019-01-11 21:58 笠航 阅读(442) 评论(0) 推荐(0) 编辑
摘要:昨天了解了一下javascript 链式写法 发现一个特别的方式, 现在来了解了解arguments.callee,这个对象吧 arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,返回正被执行的 Function 对象,也就是所指定的 Function 对象 阅读全文
posted @ 2019-01-08 23:03 笠航 阅读(1013) 评论(1) 推荐(0) 编辑
摘要:熟悉Jquery的同学都知道,它对dom的操作基本都链式调用的写法,这种给人感觉就是很简洁,易懂,而且最大的好处就是避免多次重复使用一个对象变量。 链式的实现方式:链式操作是在对象的方法中通过最后返回自身对象(return this),返回的对象就可以继续调用它里面的方法。那么,简单实现一下: 再例 阅读全文
posted @ 2019-01-08 04:08 笠航 阅读(4105) 评论(1) 推荐(3) 编辑
摘要:对于WebApp来说,将js css文件缓存到localstorage区可以减少页面在加载时与HTTP请求的交互次数,从而优化页面的加载时间.特别是当移端信号不好高延迟时优化效果还是很显见的 下面的代码可以实现此功能: 再看看封装通用插件方法: 调用该插件: 电脑端使用localstorage是测试 阅读全文
posted @ 2019-01-08 00:46 笠航 阅读(935) 评论(0) 推荐(0) 编辑
摘要:1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例。但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propotype chains)实现的。但在ES6中引入了类(class)这个概念,作为对象的模板,新的clas 阅读全文
posted @ 2019-01-05 22:13 笠航 阅读(195) 评论(1) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>06-认识原型</title> <script> function Person(name,sex,age){ this.name = name; this.sex 阅读全文
posted @ 2019-01-05 22:00 笠航 阅读(133) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>05-继承的概念</title> <script> /* function Dog (color,name){ this.skinColor = color; th 阅读全文
posted @ 2019-01-05 21:56 笠航 阅读(103) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>04-apply和call方法</title> <script> // apply和call方法 // 作用:可以设置函数的具体调用者,来修改函数的作用域 // 第 阅读全文
posted @ 2019-01-05 21:55 笠航 阅读(123) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>03-构造函数</title> <script> // 构造函数就是一种专门用来创建对象的一种函数 // 使用系统原生的构造函数创建对象 // var studen 阅读全文
posted @ 2019-01-05 21:43 笠航 阅读(126) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>02-工厂模式</title><script> /*// 函数在执行的时候,执行环境的作用域是当前函数的调用者function testThis (){console. 阅读全文
posted @ 2019-01-05 21:42 笠航 阅读(180) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>01-回顾对象</title> <script> // 字面量定义对象 // 定义对象属性的方式:驼峰命名法,以字母、下划线、$开头,之后可以使用字母、下划线、$、 阅读全文
posted @ 2019-01-05 17:11 笠航 阅读(145) 评论(0) 推荐(0) 编辑