随笔分类 -  javascript

js基础
摘要:在上面的章节中我们看到了JavaScript的对象模型是基于原型实现的,特点是简单,缺点是理解起来比传统的类-实例模型要困难,最大的缺点是继承的实现需要编写大量代码,并且需要正确实现原型链。 有没有更简单的写法?有! 新的关键字class从ES6开始正式被引入到JavaScript中。class的目 阅读全文
posted @ 2019-06-02 17:22 古墩古墩 阅读(307) 评论(0) 推荐(0)
摘要:在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的Subclass。 由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,JavaScript由于采用原型继承,我们无法直接扩展一个Class,因为根本不存在Class这种类型。 但是办法还是有的 阅读全文
posted @ 2019-06-02 17:01 古墩古墩 阅读(125) 评论(0) 推荐(0)
摘要:以上是一个原型链继承的例子 javascript创建对象 JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object 阅读全文
posted @ 2019-06-02 16:15 古墩古墩 阅读(344) 评论(0) 推荐(0)
摘要:以上是html(用的是vue,所以用@绑定的) 今天想用js读取txt文件,但是一直乱码,后来查到,把reader.readAsText(file,'gb2312')中的编码格式设置成gb2312就不乱码了 js: aaa(event){ var self=this, files=event.tar 阅读全文
posted @ 2019-06-01 11:05 古墩古墩 阅读(3337) 评论(0) 推荐(0)
摘要:html style js 上面的例子,当鼠标覆盖div时,触发transition过渡效果,将宽度变为400px。 然后js监听了div的过渡效果的结束事件,当过渡效果结束时,往当前元素(div)添加文本内容。 当然,还可以监听,过渡事件的开始,进行,结束事件,分别为transitionstart 阅读全文
posted @ 2019-05-20 21:32 古墩古墩 阅读(5890) 评论(0) 推荐(0)
摘要:javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: 阅读全文
posted @ 2019-05-03 12:26 古墩古墩 阅读(321) 评论(0) 推荐(0)
摘要:requestAnimationFrame() 每次浏览器重绘之前会调用这个方法!!! 它接收一个参数,就是回调函数; 它可以保证在最佳的间隔时间调用传入的回调函数,以达到让屏幕产生最流畅的动画效果。每次调用这个api它只会调用一次回调函数,并且给回调函数传入间隔的时间(毫秒)。很适合用js做动画。 阅读全文
posted @ 2019-04-05 22:28 古墩古墩 阅读(339) 评论(0) 推荐(0)
摘要:一、概述 随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。 现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 阅读全文
posted @ 2019-04-05 00:27 古墩古墩 阅读(338) 评论(0) 推荐(0)
摘要:离线检测 HTML5定义一个属性:navigator.onLine的属性。这个属性值为true,表示设备在线,值为false,表示设备离线。为了更好的确定网络是否可用,HTML5还定义了两个事件。这两个事件是在window对象上触发:online和offline。代码如下: 应用缓存: HTML5的 阅读全文
posted @ 2019-04-01 22:13 古墩古墩 阅读(229) 评论(0) 推荐(0)
摘要:安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式字符串。每个类在内部都有一个[[Class]]属性,这个属性中就指定了各个类型的构造函数名。 使用这种方法判断值属于什么类型最可靠;比如: 判断是不是 阅读全文
posted @ 2019-03-31 21:53 古墩古墩 阅读(205) 评论(0) 推荐(0)
摘要:在XHR出现之前,Ajax的通信必须借助一些hack手段来实现,大多是使用隐藏的框架或内嵌框架。XHR为向服务器发送请求和解析服务器响应提供了流畅的接口。能够以异步方式从服务器取得更多信息,意味着用户单击后,可以不必刷新页面也能取得新数据。虽然名字中包含XML成分,但Ajax通信与数据格式无关;这种 阅读全文
posted @ 2019-03-29 23:28 古墩古墩 阅读(209) 评论(0) 推荐(0)
摘要:脚本和模块 javascript有两种源文件,一种叫脚本,一种叫模块。这个区分主要是在ES6引入的,ES5及之前版本只有一种源文件类型(只有脚本)。 脚本是可以有浏览器或者node环境引入执行的,而模块只能有javascript代码用import引入执行。 从概念上来讲,我们可以认为脚本具有主动性的 阅读全文
posted @ 2019-03-29 15:58 古墩古墩 阅读(235) 评论(0) 推荐(0)
摘要:JSON也是一种数据结构格式,与XML相比,JSON操作起来要简单的多,受到广大程序猿的欢迎!完爆XML有没有~ 而且很多编程语言都有针对JSON的解析器和序列化器哟~ JSON包含3中数据格式: 简单值:字符串、数值、布尔值、null。但是不支持undefined 对象:。。。 数组:。。。 注意 阅读全文
posted @ 2019-03-28 22:43 古墩古墩 阅读(148) 评论(0) 推荐(0)
摘要:曾几何时,XML一度成为存储和通过因特网传输结构化数据的标准,之前,浏览器无法解析XML数据时,开发人员都要手动编写自己的XML解析器。而自从DOM出现后,所有浏览器都内置了对XML的原生支持(XML DOM),同时也提供了一些相关的技术支持。 创建空白的XML文档: DOM2级在document. 阅读全文
posted @ 2019-03-24 19:14 古墩古墩 阅读(507) 评论(0) 推荐(0)
摘要:各个浏览器都有打开自己错误调试的方法,ie需在工具栏中打开,但没有控制台,会弹出弹窗,其它浏览器还好,都能显示控制台; try{}catch(error){}finally{}:这个try-catch语句经常用到,将可能发生错误的语句块儿放在try里,将发生错误后执行的代码放在catch里,fina 阅读全文
posted @ 2019-03-24 11:33 古墩古墩 阅读(156) 评论(0) 推荐(0)
摘要:一、节点常用操作document.createElement()用来生成网页元素节点,参数为元素的标签名document.createTextNode()用来生成文本节点,参数为所要生成的文本节点的内容node.appendChild()接受一个节点对象作为参数,将其作为最后一个子节点,插入当前节点 阅读全文
posted @ 2019-03-22 14:43 古墩古墩 阅读(377) 评论(0) 推荐(0)
摘要:跨文档消息传递:(cross-document message) 有时候简称XDM,指的是来自不同域的页面间传递消息; XDM的核心是postMessage()方法,目的是向另一个地方传递数据,对于XDM而言,另一个地方指的是包含值本页面的iframe元素,或则由当前页面弹出的窗口; postMes 阅读全文
posted @ 2019-03-19 22:43 古墩古墩 阅读(377) 评论(0) 推荐(0)
摘要:import axios from 'axios'; import constant from '@/js/const'; import alert from '@/js/alertView'; let env = process.env.NODE_ENV; var needLogin = ""; let root = ''; let yxHeader; if (env === 'devel... 阅读全文
posted @ 2019-03-15 14:06 古墩古墩 阅读(941) 评论(0) 推荐(0)
摘要:objIsEqual(obj1,obj2){//比较两个对象键值对是否相等 var o1 = obj1 instanceof Object; var o2 = obj2 instanceof Object; if(!o1 || !o2){/* 判断不是对象 */ return obj1 obj2; 阅读全文
posted @ 2019-03-15 13:47 古墩古墩 阅读(3583) 评论(0) 推荐(0)
摘要://深度优先 function deepLogTagNames(parentNode){ console.log(parentNode.tagName); const childNodes=parentNode.childNodes; //过滤没有tagName的节点,遍历输出 Array.prototype.fil... 阅读全文
posted @ 2019-03-10 22:59 古墩古墩 阅读(377) 评论(0) 推荐(0)