07 2017 档案

摘要:一、概述: 那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真 阅读全文
posted @ 2017-07-31 23:08 古兰精 阅读(2660) 评论(0) 推荐(1) 编辑
摘要:一、阻止事件冒泡: 1、html中加return false 2、js中加return false 3、IE下:window.event.cancelBubble = true; FF下:event.stopPropagation(); 二、阻止默认事件: 1、return false; 2、IE下 阅读全文
posted @ 2017-07-31 22:09 古兰精 阅读(953) 评论(0) 推荐(0) 编辑
摘要:1、问题背景 路由加了全局守卫之后,报错: 2、原因:内部判断,导致路由产生了死循环 错误代码 router.beforeEach((to, from, next) => { if (store.getters.token) { if (to.path '/login') { next('/') } 阅读全文
posted @ 2017-07-30 18:36 古兰精 阅读(989) 评论(0) 推荐(0) 编辑
摘要:一、普通 script 1、文档解析的过程中,如果遇到script脚本,停止页面的解析渲染,下载script脚本 2、如果是多个script脚本, 近似于同时并行下载script脚本 注意:虽然说是遇到script脚本, 就停止后面标签的解析渲染; 但chrome做了优化, 遇到script脚本, 阅读全文
posted @ 2017-07-30 17:20 古兰精 阅读(313) 评论(0) 推荐(1) 编辑
摘要:1、JS禁止BackSpace键: 此问题有个bug就是当鼠标放在一个不可编辑的输入框上的时候,退格键依然会产生页面后退效果!所以修改一下: 还有种情况就是disabled的时候,试验了下发现给input disabled 的时候,其类型就变成了 t == null,所以可以暂时不予考虑。 2、关于 阅读全文
posted @ 2017-07-29 23:14 古兰精 阅读(277) 评论(0) 推荐(0) 编辑
摘要:先来一段代码引子: 一、数组: push():向数组尾部添加一个或多个元素,返回添加新元素后的数组的长度。——改变原数组 pop():删除数组最后一个元素,返回删除的该元素。——改变原数组 unshift():在数组的第一个位置添加元素,并返回添加新元素后的数组长度。——改变原数组 shift(): 阅读全文
posted @ 2017-07-26 19:52 古兰精 阅读(456) 评论(0) 推荐(0) 编辑
摘要:一:javascript原生方法 1:拿到select对象: var myselect=document.getElementById("test"); 2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的i 阅读全文
posted @ 2017-07-25 14:47 古兰精 阅读(1130) 评论(0) 推荐(0) 编辑
摘要:在上篇文章中,我们讲到了,当一段代码被执行时,JavaScript 引擎先会对其进行编译,并创建执行上下文。但是并没有明确说明到底什么样的代码才算符合规范。 那么接下来我们就来明确下,哪些情况下代码才算是“一段”代码,才会在执行之前就进行编译并创建执行上下文。一般说来,有这么三种情况: 1、当 Ja 阅读全文
posted @ 2017-07-24 20:23 古兰精 阅读(650) 评论(0) 推荐(0) 编辑
摘要:一、样式优先级: 多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使用多重样式的情况。 一般情况下,大家都认为优先级是:内联样式 > 内部样式 > 外联样式,实际上不是如此,内部样式和外联样式优先级一样(看谁在先后的问题):如果外部样式放在内部样 阅读全文
posted @ 2017-07-21 14:58 古兰精 阅读(599) 评论(0) 推荐(0) 编辑
摘要:一、on(),live(),bind() on() 为指定的元素,添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 on() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。 live() 向当前或未来的匹配元素添加一个或多个事件处理器; bind() 向匹配元 阅读全文
posted @ 2017-07-21 14:20 古兰精 阅读(381) 评论(0) 推荐(0) 编辑
摘要:一、数组的浅拷贝 如果是数组,我们可以利用数组的一些方法比如:slice、concat 返回一个新数组的特性来实现拷贝。比如: var arr = ['old', 1, true, null, undefined]; var new_arr = arr.concat(); new_arr[0] = 阅读全文
posted @ 2017-07-19 23:11 古兰精 阅读(208) 评论(0) 推荐(0) 编辑
摘要:一、结论 1、target 是事件触发的真实元素 2、currentTarget 是事件绑定的元素 3、事件处理函数中的 this 指向始终指向为 currentTarget 4、target 和 currentTarget 有时候是同一个元素,有时候不是同一个元素 (因为事件冒泡) 当事件是子元素 阅读全文
posted @ 2017-07-18 23:49 古兰精 阅读(351) 评论(0) 推荐(0) 编辑
摘要:127.0.0.1和0.0.0.0这两个IP地址再熟悉不过了,看起来好像就那么回事,但真正较起真来,这两个IP地址到底有什么作用以及到底有什么不同?貌似谁可以轻松回答,但张嘴却又不知从何说起(这要是面试,估计真会被这搞砸...),本文将系统地总结127.0.0.1和0.0.0.0这两个IP地址的作用 阅读全文
posted @ 2017-07-18 18:51 古兰精 阅读(1648) 评论(0) 推荐(0) 编辑
摘要:一、shimming 垫片的场景 在webapck打包的过程中,我们往往需要做代码的兼容,或者打包过程的兼容。比如,我们使用的 @babel/polyfill,他所解决的就是打包代码运行在低版本浏览器上时有些api不兼容的问题,比如IE浏览器上不支持的Promise api,他就会自动的在打包过程中 阅读全文
posted @ 2017-07-17 23:36 古兰精 阅读(10150) 评论(0) 推荐(0) 编辑
摘要:一、Commitlint 是什么 在多人协作的背景下,git 仓库和 workflow 的作用很重要。而对于 commit 提交的信息说明存在一定规范,现使用 commitlint + husky 规范 git commit -m "" 中的描述信息。 一句话说,当我们运行 git commmit 阅读全文
posted @ 2017-07-17 20:11 古兰精 阅读(2513) 评论(0) 推荐(0) 编辑
摘要:在上篇文章中,我们介绍了渲染流水线中的 DOM 生成、样式计算和布局三个阶段,那今天我们接着讲解渲染流水线后面的阶段。 这里还是先简单回顾下上节前三个阶段的主要内容: 1、在 HTML 页面内容被提交给渲染引擎之后,渲染引擎首先将 HTML 解析为浏览器可以理解的 DOM; 2、然后根据 CSS 样 阅读全文
posted @ 2017-07-17 18:06 古兰精 阅读(1883) 评论(0) 推荐(1) 编辑
摘要:jQuery获取: jQuery.parent(expr),找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有 阅读全文
posted @ 2017-07-15 18:38 古兰精 阅读(386227) 评论(1) 推荐(9) 编辑
摘要:CSS中主要的伪元素有四个:before/after/first-letter/first-line,在before/after伪元素选择器中,有一个content属性,能够实现页面中的内容插入。 content属性一般用于::before、::after伪元素中,用于呈现伪元素的内容。平时cont 阅读全文
posted @ 2017-07-13 23:13 古兰精 阅读(85027) 评论(0) 推荐(1) 编辑
摘要:一、问题背景 测试项目突然无法访问,任何路由全部报错:connect() failed (111: Connection refused) while connecting to upstream [error] 20969#0: *1 connect() failed (111: Connecti 阅读全文
posted @ 2017-07-13 16:42 古兰精 阅读(2913) 评论(0) 推荐(0) 编辑
摘要:原问题: 在IE下点击第一个所有对象不起效果,原因就在于IE无法识别hidden类型导致点击的时候总是先取hidden类型的值,所以var type=$(this).val();始终为空。而其他浏览器可以识别hidden类型,所以没有问题。 解决方式:将隐藏域hidden类型放到后面即可。 自己写段 阅读全文
posted @ 2017-07-13 15:34 古兰精 阅读(1557) 评论(0) 推荐(0) 编辑
摘要:一、问题原因 当我们的浏览器出现类似“was loaded over HTTPS, but requested an insecure resource/frame”这种错误是,一般都是因为我们的网站是HTTPS的,而对方的链接是HTTP协议的,因此在Ajax或者javascript请求时,就会报如 阅读全文
posted @ 2017-07-13 15:01 古兰精 阅读(269) 评论(0) 推荐(0) 编辑
摘要:一、问题背景 1、文档简介从服务器文档里直接取时,简介是256字符; 2、当编辑时,简介却变成了 260 字符,报错超出限制。 问题:为啥 256 字符经过表单一展示后,再提交到后台就变成了 260 字符呢? 二、涉及知识 \r 是回车,return,使光标到行首 \n 是换行,newline,使光 阅读全文
posted @ 2017-07-12 16:26 古兰精 阅读(511) 评论(0) 推荐(0) 编辑
摘要:Intl对象是ECMAScript国际化API的命名空间,它提供对语言敏感的字符串比较、支持数字格式化以及日期和时间的格式化。 1、Intl.Collator对象 collator这个单词意思是排序器。Intl.Collator对象是排序器的构造函数,可以支持对语言敏感的字符串比较。语法如下:new 阅读全文
posted @ 2017-07-11 11:26 古兰精 阅读(1812) 评论(0) 推荐(0) 编辑
摘要:一、解决微信分享报错config:fail,invalid signature的问题 最近在写网页在微信里的分享功能,然后发现它一直报这个错config:fail,invalid signature 经过一番操作,我的url我给它 encodeURIComponent 编码了,导致url不符合设置, 阅读全文
posted @ 2017-07-09 21:48 古兰精 阅读(5632) 评论(0) 推荐(0) 编辑
摘要:一、ECMAScript中的数据类型 1、基本数据类型:null、undefined、number、boolean、string 2、引用数据类型:object(obj、[]、{}、function、RegExp等),是由一组无序的名值对组成的 3、typeof与instanceof作用: type 阅读全文
posted @ 2017-07-09 19:19 古兰精 阅读(505) 评论(0) 推荐(0) 编辑
摘要:三角形实际上是border的产物 我们正常使用的border都是四边一个颜色,当我们把四边换上不同颜色 那么你就会发现,三角来了~! 原来border每个边,形成了三角形。 之前一直很奇怪,为什么每次width 和 height 都是0px? 我想原因已经不言而喻。 当然我们应该试一下看看 ~ 可以 阅读全文
posted @ 2017-07-09 17:58 古兰精 阅读(1427) 评论(0) 推荐(0) 编辑
摘要:一、数据结构概念 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。 常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示: 每一种数据结构都有着独特的数据存储方式,不同种类的数据结构适合不同种类的应用,部分数据结构甚至是为了解决特定问题而 阅读全文
posted @ 2017-07-08 19:40 古兰精 阅读(801) 评论(0) 推荐(0) 编辑
摘要:一、变量作用域 1、Sass 变量的作用域只能在当前的层级上有效果 2、当然 Sass 中我们可以使用 !global 关键词来设置变量是全局的 h1 { $myColor: green; // 只在 h1 里头有用,局部作用域 color: $myColor; } h1 { $myColor: g 阅读全文
posted @ 2017-07-07 16:56 古兰精 阅读(12671) 评论(0) 推荐(0) 编辑
摘要:一、一行代码实现星级评分:记下,这还是比较巧妙的 const getRate = (rate = 0) => '★★★★★☆☆☆☆☆'.slice(5 - rate, 10 - rate); getRate(3); 二、同步阻塞法实现sleep函数 const sleep = delay => { 阅读全文
posted @ 2017-07-07 14:11 古兰精 阅读(330) 评论(0) 推荐(0) 编辑
摘要:项目中遇到的问题,使用window.open()开一个页面之后,cookie会消失,所以无法一键切肤不管作用,解决方案如下: window.open()总结: window.open("sUrl","sName","sFeature","bReplace"); sUrl:可选项。字符串(String 阅读全文
posted @ 2017-07-05 19:32 古兰精 阅读(20213) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中我们介绍了导航相关的流程,那导航被提交后又会怎么样呢?就进入了渲染阶段。 这个阶段很重要,了解其相关流程能让你“看透”页面是如何工作的,有了这些知识,你可以解决一系列相关的问题,比如能熟练使用开发者工具,因为能够理解开发者工具里面大部分项目的含义,能优化页面卡顿问题,使用 JavaSc 阅读全文
posted @ 2017-07-04 11:30 古兰精 阅读(21256) 评论(1) 推荐(2) 编辑
摘要:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 : $(document).width(); 浏览器当 阅读全文
posted @ 2017-07-03 23:31 古兰精 阅读(81167) 评论(0) 推荐(1) 编辑
摘要:jqGrid API中文手册:http://blog.mn886.net/jqGrid/ 一、jqGrid属性: width:Grid的宽度,如果未设置,则宽度应为所有列宽的之和;如果设置了宽度,则每列的宽度将会根据shrinkToFit选项的设置,进行设置。 height : Grid的高度,可以 阅读全文
posted @ 2017-07-03 10:18 古兰精 阅读(21159) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示