web前端
文章平均质量分 77
普通网友
这个作者很懒,什么都没留下…
展开
-
javascript之正则表达式
newvar re = new RegExp('test','gi');var re = /test/gi;functiontest();//boolexec();//string 一次匹配并返回match();//array 多次匹配并返回search();//类似indexOf()replace();//替换split();//分割有用的预定义类转载 2016-11-14 19:39:13 · 214 阅读 · 0 评论 -
JS学习31:关于正则全局匹配结果为奇偶真假的小疑问
1、两个简单的正则判断// 正则判断1/公司|企业|学校/g.test("123企业456"); // 正则判断2/公司|企业|学校/.test("123企业456");学过一点正则的朋友,应该知道,这两个正则判断的返回值都是true,在浏览器控制台可以直观的得到结果:但是当我们要在判断语句中来获取正则判断1和正则判断2的结果时,却出现了奇异的现象:转载 2016-11-14 20:09:52 · 556 阅读 · 0 评论 -
JS学习32:html5拖拽图片批量ajax无刷新进度上传
1、前端拖拽图片之前有篇文章说到HTML5的拖拽(drag、drop,详见:/post/jquery-plugin-1-jquery-drag-and-html5-draggable-api-and-compatibility.html)。这里说的拖拽图片只是弱化了拖的概念,而强化了拽的操作。从浏览器外部拖动一个文件到浏览器中来,如:拖动文件到浏览器之后,就会打开浏览器支持转载 2016-11-14 20:08:29 · 1401 阅读 · 0 评论 -
JS学习33:数值类型基础知识
1、概述JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。所以在 JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。例如:1 === 1.0// true 1 + 1.0转载 2016-11-14 20:07:34 · 477 阅读 · 0 评论 -
JS学习34:en(de)codeURI、en(de)codeURIComponent、(un)escape、btoa(atob)
1、encodeURI 和 decodeURI先了解,什么是URI和URL。在电脑术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。统一资源定位符(或称统一资源定位器/定位地址、转载 2016-11-14 20:06:45 · 1083 阅读 · 0 评论 -
JS学习35:js使用JSONP、VAR实现前端跨域
1、什么是跨域获取一个页面的域:document.domain;// qianduanblog.com为了页面和服务器的安全(?),脚本是不能访问非本域的动态网络资源,但可以访问如脚本、样式、图片、视频、音频等这些静态资源。那什么是跨域呢?存在以下情况中之一,即发生跨域:网络协议不同,如http协议访问https协议。端口不同,如80端口访问8080端口。域名不转载 2016-11-14 20:06:04 · 428 阅读 · 0 评论 -
JS学习36:字符串的slice/substring/substr
1、字符串的位置直接看图:2、字符串的sliceslice的意思是切片、切割。同样,在字符串中slice就是起到切割的作用。在js中,slice方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。最多接收2个参数:参数1(可选):截取字符串的开始位置。若未指定,则默认为字符串开始位置;若为负数,则从字符串的尾部开始算起的位置,-1 指转载 2016-11-14 20:04:51 · 539 阅读 · 0 评论 -
JS学习37:insertAdjacentHTML/insertAdjacentElement/insertAdjacentText
1、插入Element在js中,最常用的插入Element方法有appendChild和insertBefore,用法为:// appendChild// parentElement.appendChild(childElement);var oBody = document.querySelector("body");var oA = document.createElement("转载 2016-11-14 20:04:02 · 1032 阅读 · 0 评论 -
JS学习38:函数表达式、声明式与判断语句在火狐中的特性
1、函数表达式如下都是表达式:var a = 1;var b = {};var c = function () {};var d = [];var e = '';var f = true;var g = null;函数表达式,指的是定义的变量指向的是一个函数,如上的变量c。继续看下面这个经典的函数表达式例子。var a = 1;var b = function () { a转载 2016-11-14 20:03:14 · 429 阅读 · 0 评论 -
JS学习47:transitionend 事件的折腾
1、引子如上,单击方块的运行结果应该是什么呢?在高级浏览器下测试的结果是:1、2,符合预期。通常,dom元素上的事件名称,比如“onclick、onmousedown”是与事件监听的事件名称是一一对应的,只是省略了“on”。于是:如上,ontransitionend 是监听 css3 中 transition 过渡结束的事件,相关链接可以阅读参考链接。实际运转载 2016-11-14 20:00:08 · 3790 阅读 · 0 评论 -
javascript 模块加载器——coolie
1、javascript模块化javascript 模块化是随着 javascript 的工作量逐步增加而产生的必然结果,近年来,javascript 模块化已经诞生了部分标准,也已经在下一代的 javascript 官方标准里提出了草案。目前,主流的模块化规范是 AMD、CommonJS等,他们良好的规范,优雅的接口设计,合理的设计模式被很多前端开发工程师所接受,并且也有很多模块转载 2016-11-14 19:58:20 · 687 阅读 · 0 评论 -
JS学习46:不同script导致IE8以下全局变量引用断开
1、引用全局变量假设,我们之前在某个脚本里定义了一个全局变量a,那么在另外一个后续脚本里引用这个全局变量a,保守做法是:// script 1window.a = 1; // script 2var a = window.a || '1';2、IE8以下的全局变量引用看例子: charset="UTF-8"> window.a = 1; window.b =转载 2016-11-14 19:57:03 · 1590 阅读 · 1 评论 -
JS学习45:howdo已支持浏览器端的异步流程控制
1、howdo前期说到的howdo(《nodejs学习18:howdo——如何做,一个简易的流程控制,v1.0.0版本发布》)都是服务于nodejs端的,目前已更新到1.1.x版本,已经支持了IE6/7/8/9/10/11、chrome和firefox。2、howdo VS AJAX这里以jquery为例:// 首先来改装下 $.ajaxfunction request转载 2016-11-14 19:56:06 · 323 阅读 · 0 评论 -
JS学习44:一个标准继承
1、标准继承关于继承的文章,前面已经写过不少了(详见:http://qianduanblog.com/search/%E7%BB%A7%E6%89%BF/)。前面的文章介绍了如何实现继承以及各种继承的方法、特点。1.1、引子:共享原型的原型继承javascript中通过原型链来实现共享属性和方法做法来实现共享继承。如:// Peoplefunction People()转载 2016-11-14 19:54:41 · 453 阅读 · 0 评论 -
JS学习43:如何用spm@3构建一个多入口、模块化编程项目
1、项目结构一个典型的本地JS目录结构:当前项目中有2个页面,分别是page-a和page-b,两个页面有两个入口。项目使用的公共文件在libs文件夹下面,项目可能还需要用到jquery等第三方库文件,这些文件可以在spmjs.io上面下载下来,此话后说。2、项目配置在当前JS目录新建package.json文件,来配置当前项目需要用到的库以及打包依赖。转载 2016-11-14 19:53:37 · 474 阅读 · 0 评论 -
JS学习42:使用spm@3构建seajs项目
之前分享过一篇关于seajs入门的文章(见: JS学习21:seaJS入门),因为当时build工具不成熟吧,就没有继续研究。现在,随着项目越来越大,引用的脚本越来越多,单纯的靠记忆来管理依赖已经不太现实,也比较劳累。1、什么是spm起初我以为是 seajs package manager,结果官网的定义是 static package manager,它是静态包的管理工具。虽然转载 2016-11-14 19:52:58 · 629 阅读 · 0 评论 -
JS学习41:判断浏览器是否支持某一个CSS3属性
1、引子css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候。比如transition的animation-play-state,就只有部分浏览器支持。2、检测方法下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性:/** * 判断浏览器是否支持某一个CSS3转载 2016-11-14 19:50:44 · 526 阅读 · 0 评论 -
JS学习40:计算滚动条的宽度
http://qianduanblog.com/post/js-learning-40-get-scrollbar-width.html昨天在于江水的博客里看到说弹窗的相关文章(详见:http://yujiangshui.com/review-how-to-make-popup-mask-effect/),里面提到了滚动条的宽度计算,其实滚动条的宽度不难计算,而且非常的简单。在转载 2016-11-14 19:47:28 · 1738 阅读 · 0 评论 -
oninput和onpropertychange以及其兼容处理
在我们鄙视ie浏览器的同时,也发现了ie浏览器在某些方面确实是领先于W3C的,比如监听属性改变的就是一个例子。在传统意义上,处理表单输入框值的改变,需要监听onblur事件或者onchange事件,又或者直接监听输入框的键盘事件(onkeydown、onkeypress、onkeyup)、鼠标事件(onmousedown、onmouseup)等。如果输入框的值被键盘或者鼠标剪切、粘贴、撤销转载 2016-11-14 20:10:56 · 9689 阅读 · 0 评论