![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
H5前端
文章平均质量分 87
聪明的一休丶
我是无所不能的程序猿
展开
-
js中call、apply、bind的用法
今天看博客时,看到了这样的一段js代码:var bind = Function.prototype.call.bind(Function.prototype.bind);我想突然看到这样的一段代码,即使js能力再强的人,可能也需要花点时间去理解。像我这样的菜鸟就更不用说了。其实,原文已经对这端代码做出了解释,但我还是想用我的想法去解释这段代码。上面那段代码涉及到了cal转载 2017-11-29 11:03:01 · 201 阅读 · 0 评论 -
10大基础实用算法及其讲解
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divideandconquer)策略来把一个串转载 2016-04-11 10:29:31 · 295 阅读 · 0 评论 -
算法面试题
1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构如下: struct BSTree转载 2016-04-11 10:24:19 · 1494 阅读 · 0 评论 -
前端开发面试问题及答案整理
前端开发面试知识点大纲:HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。其他: HTT转载 2016-04-11 10:21:38 · 2866 阅读 · 0 评论 -
10个最常见的 HTML5 面试题及答案
1、新的 HTML5 文档类型和字符集是?HTML5 文档类型很简单:HTML5 使用 UTF-8 编码示例:2、HTML5 中如何嵌入音频?HTML5 支持 MP3、Wav 和 Ogg 格式的音频,下面是在网页中嵌入音频的简单示例: Your browser does’nt support audio embedding featur转载 2016-04-11 10:19:34 · 350 阅读 · 0 评论 -
25 个 JavaScript 面试题
1、使用 typeof bar === "object" 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊端?使用 typeof 的弊端是显而易见的(这种弊端同使用 instanceof ):let obj = {};let arr = [];console.log(typeof obj === 'object'); //trueconsole.log(typeo转载 2016-04-11 10:18:09 · 1047 阅读 · 0 评论 -
5个典型的JavaScript面试题
JavaScript是一门有意思的语言,入门很快,但是想要深入的理解却并不简单,比如JavaScript中的原型、面向对象。对当前的Web世界而言,JavaScript是一门你必须精通的语言,因此本文借用一些面试题来回顾一下JavaScript中的典型知识点。面试题1. 变量范围以下代码的输出结果为:(function() { var a = b = 5;})(转载 2016-04-11 10:16:08 · 313 阅读 · 0 评论 -
前端工程师必备技能
前端开发知识结构前端工程师SVG/Canvas/VMLSVG: D3/Raphaël/Snap.svg/DataVCanvas: CreateJS/KineticJS知识管理/总结分享沟通技巧/团队协作需求管理/PM交互设计/可用性/可访问性知识编译原理计算机网络操作系统算法原理软件工程原创 2016-04-11 10:11:07 · 370 阅读 · 0 评论 -
JavaScript 正则表达式——基本语法
定义JavaScript种正则表达式有两种定义方式,定义一个匹配类似 的字符串1. 构造函数var reg=new RegExp(']+%>','g');2. 字面量var reg=/]%>/g;g: global,全文搜索,默认搜索到第一个结果接停止i: ingore case,忽略大小写,默认大小写敏感m: multiple lines转载 2016-04-13 12:05:20 · 314 阅读 · 0 评论 -
jquery.tmpl.js 详解
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等。 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在浏览器端拼数据就在服务器端拼数据。不过,从传输量方面来看,返回 HTML 不划算,而在 web 传输方面,现在更多的是使用 JSON 而不是 XML。浏览器端根据 JSON 生转载 2016-04-12 17:36:01 · 819 阅读 · 0 评论 -
CodeMirror sql智能提示功能修改
CodeMirror sql部分智能提示关键字,老板希望可以自己加提示,还能支持 库.表.字段 下面我就说下我具体的做法:第一步了解 codemirror的实现原理, 看这个很容易看出点啥,codemirror.js 主要是框架和配置类,show-hint.js 主要是显示提示框的类; 剩下的sql.js是规定了一些常用关键字,好吧其实我们可以在这里改,做下扩展嘛。原创 2016-03-22 17:27:16 · 20599 阅读 · 4 评论 -
codeMirror配置
CodeMirror是一款在线的支持语法高亮的代码编辑器。官网: http://codemirror.net/下载后,解压开得到的文件夹中,lib下是放的是核心库和核心css,mode下放的是各种支持语言的语法定义,theme目录下是支持的主题样式。一般在开发中,添加lib下的引用和mode下的引用就够了。使用示例首先,要引用是 lib 目录下的 codemirro原创 2016-03-22 16:35:25 · 10497 阅读 · 1 评论 -
趣味javascript程序
遗传算法解决旅行商问题(TSP)2014年11月16日其它JS程序算法旅行商问题(TSP)是经典的NP完全问题,也经常被程序员们用来测试和练习各种算法的效率。这是我写的一个纯粹练手的程序,还未完善,随后应该会稍作改进,增加更多的设定选项和更好的遗传生成算法。Continue reading →发表回复素数螺旋2014年6月24日知乎相关、网页动画数学、素原创 2016-04-28 09:34:00 · 806 阅读 · 0 评论 -
知乎用户排行榜生成器0.2版源码
这是我在知乎专栏发表的那篇知乎用户排行榜生成器0.2版的源码,为增强专栏的可读性所以在那边只放了压缩版的。这里是完整版,有兴趣者可以自行调试修改。这段脚本需要登录知乎网站后在浏览器控制台运行,更详细的用法请点上面链接查看。12345678910111213转载 2016-04-28 09:36:43 · 829 阅读 · 0 评论 -
HTML5:烟火
本次目标:在canvas画布上绘制彩色小球并实现模拟烟花般的动画效果。程序很简单,只需要理解canvas元素,在指定位置用指定颜色绘制圆球然后逐帧形成动画就可以了。考虑到性能因素,在球离开视觉区域或颜色完全变淡后就移除对象,并在每帧补上一定数量的球,这样也能够保证视觉效果。演示效果如下(浏览器需支持HTML5):源码如下(由于结构并不复杂,代码中的注释应原创 2016-04-28 09:40:29 · 652 阅读 · 0 评论 -
热力图原理
最近公司让做一款统计移动APP的热力图插件,好吧百度了下也只是找到了百度统计的一些线索。思考了几天终于开始做了。首先我说下思路和开发遇到的问题:一. 数据采集部分: 1.因为是移动端第一个考虑的便是分辨率的问题。毕竟市场上手机屏幕大小区别还是很大的。 2. 第二个要考虑的是坐标点的问题一个1980*1080的屏有200万个象素点,好吧我开始蛋原创 2015-11-16 16:05:36 · 11293 阅读 · 2 评论 -
ATOM常用插件
simplified-chinese-menu ATOM的汉化插件file-icons 文件图标美化atom-beautify 代码格式一键美化last-cursor-position 光标自由切换到上一次/下一次编辑位置minimap代码小地图sync-settings 插件备份、按键绑定备份acti转载 2017-08-15 09:22:13 · 649 阅读 · 0 评论 -
DOM性能优化
一、渲染引擎的分离 浏览器中通常会把DOM和JavaScript引擎独立实现。(1)IE:javascript实现是JScript,DOM实现为Trident。(2)Safari:javascript引擎SquirrelFish,DOM渲染采用的是Webkit中的WebCore实现的。 (3)Chrome:javascript引擎为V8,DOM渲染采转载 2017-08-18 09:44:34 · 465 阅读 · 0 评论 -
javaScript封装的各种写法
在javascript的世界里,写法是个神奇的现象,真是百家齐开放啊!每次看到老外写的js组件,思想和写法都怪异,就没看到一个js结构基本相同的代码出来。今天,我就来谈谈js写法,我在开发过程中,也写了几种。对于性能方面,如果代码结构或逻辑写的不好,会造成计算机CPU的运算加大,运行性能降低,js的写法对性能的影响也是至关重要的。 通常写js组件开发的,都会用到匿名函数的写法转载 2017-08-02 11:29:58 · 404 阅读 · 0 评论 -
Webstorm下MEAN框架环境搭建
什么是MEAN框架?它可绝对不是吝啬的框架哦,而是包含了Mongoose(用于操作MongoDB)、Express、AngularJS以及Node.js的全Javascript开发架构,对的,你没看错,再也不用羡慕隔壁家的Java了,我们大前端也能做到。 首先Express对Node.js作为Web服务器那繁琐的网络操作进行了封装,所以网络连接、请求分发啥的都不是事儿,这样我们就可以专转载 2017-07-20 14:22:26 · 365 阅读 · 0 评论 -
JavaScript知识体系图谱
本文中主要是整理JavaScript编程的知识体系,尤其是想要深入JavaScript原生脚本的同学更应该整理好并掌握住这些知识;转载 2017-07-06 15:59:41 · 524 阅读 · 0 评论 -
javascript高级相关知识
本文旨在加深对前端知识点的理解,资料来源于网络。一些开放性题目1.自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势。2.项目介绍3.如何看待前端开发?4.平时是如何学习前端开发的?5.未来三到五年的规划是怎样的?position的值, relative和absolute分别是相对于谁进行定位的?absolute :生成绝对定位的元素, 相对于最近一级的 定位不是 stati转载 2017-06-19 20:51:43 · 636 阅读 · 0 评论 -
HTML5移动端常见问题
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面1 忽略将页面中的数字识别为电话号码1 忽略Android平台中对邮箱地址的识别1 当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari1 2 将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的样式1 2 viewport模板 vie转载 2017-06-19 20:49:53 · 1104 阅读 · 0 评论 -
JS创建类的方法
Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class。(不过,ES6引入了Class这个概念,作为对象的模板。通过class关键字,可以定义类。ES6入门:http://es6.ruanyifeng.com/)。 但是在项目开发中,经常用到JS面向对象开发,这就需要我们去用JS创建类,从而转载 2017-06-17 00:06:10 · 753 阅读 · 0 评论 -
如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
1、为何而生: 这三个规范都是为javascript模块化加载而生的,都是在用到或者预计要用到某些模块时候加载该模块,使得大量的系统巨大的庞杂的代码得以很好的组织和管理。模块化使得我们在使用和管理代码的时候不那么混乱,而且也方便了多人的合作。 2、那些规范们: (1)、CommonJS 是一个有志于构建 JavaScript 生态圈的组织。整个社区致力于提转载 2017-06-16 23:46:40 · 500 阅读 · 0 评论 -
什么是前端工程师?
“喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧。”你好,切图仔。不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗位,虽然身份之争多少有些无谓,但我对这种偏见还是心存芥蒂,酝酿了许久,决定写一个系列的文章,试着从工程的角度系统的介绍一下我对前端,尤其是Web前端的理解。只要我们还把自己的工作看作为一项软件开发活动,那么转载 2016-02-25 17:40:22 · 2243 阅读 · 0 评论 -
纯HTML5 APP与原生APP的差距在哪?
1、动画动画有很多种,比如侧边栏菜单的滑入滑出、元素的响应动画、页面切换之间的过场等等,在H5之下的众多实现方法都没有办法达到纯原生的性能。一般这些的话有几种不同的选择:css3动画javascript动画原生动画css3动画非常的消耗性能,如果某一个元素用到css3动画可能还看不出来,但大面积或过场使用css3动画会让app低端手机体验转载 2016-02-25 17:26:34 · 373 阅读 · 0 评论 -
WEB开发者应必须具备的6大技能
1. 界面和用户体验注意,浏览器的实现标准是不一致的,请确保你的网站能够兼容所有主流的浏览器。最少需要测试的有 Gecko 引擎(Firefox),WebKit引擎(Safari以及一些手机浏览器),Chrome,你所要支持的 IE 浏览器,以及Opera。此外,你还需要了解不同系统下,浏览器是如何渲染网页的。考虑一下人们不使用主流浏览器的情况,如手机,屏幕阅读器和搜索转载 2016-02-25 17:22:50 · 412 阅读 · 0 评论 -
网站统计中的数据收集原理及实现
网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统。数据收集原理分析简单来说,网站统计分析工具需要收集到用户浏览目标网站的行为(如打开某网页、点转载 2015-11-16 15:17:40 · 1263 阅读 · 0 评论 -
自己开发jquery插件的方法
jquery插件开发模式jquery插件一般有三种开发方式:通过$.extend()来扩展jQuery通过$.fn 向jQuery添加新的方法通过$.widget()应用jQuery UI的部件工厂方式创建第一种$.extend()相对简单,一般很少能够独立开发复杂插件,第三种是一种高级的开发模式,本文也不做介绍。第二种则是一般插件开发用到的方式,本文着重讲讲第二种。原创 2015-11-16 11:12:59 · 378 阅读 · 0 评论 -
JavaScript操作DOM
DOM的工作模式是:先加载文档的静态内容、再以动态方式对它们进行刷新,动态刷新不影响文档的静态内容。PS:IE 中的所有 DOM 对象都是以 COM 对象的形式实现的,这意味着 IE 中的 DOM可能会和其他浏览器有一定的差异。Node 接口特性/方法类型/返回类型说 明nodeNameString节点转载 2015-11-16 09:36:20 · 393 阅读 · 0 评论 -
关于原生js的一些研究
callee和callerfunction inner(){ console.log(arguments.callee);//指向拥有这个arguments对象的函数,即inner() console.log(arguments.callee.caller);//这个属性保存着调用当前函数的函数的引用,即outer() console.log(inner.caller)转载 2015-11-16 09:27:36 · 434 阅读 · 0 评论 -
抛弃jQuery 深入原生的JavaScript
今天,我准备将在过去几年学到的一些基础东西与大家一起分享,这将可能帮你深入纯 JavaScript的世界,让你能更简单的做出决定——jQuery在你下个工程中是否需要。 逐步增强 虽然像jQuery这样的库有助于解决许多浏览器之间不兼容的问题,但当你一旦开始使用纯JavaScript来完成所有工作的时候你确实会变得对他们很熟悉。为了避免写包含浏览器修改和只能解决浏览器兼容问题的转载 2015-11-12 09:35:10 · 337 阅读 · 0 评论 -
窗口关闭事件
1.用javascript重新定义window.onbeforeunload()事件 在javascript里定义一个函数即可 functionwindow.onbeforeunload(){alert("关闭窗口")} alert()事件将会在关闭窗口前执行,你也可以用户决定是否关闭窗口 functionwindow.onbeforeunl原创 2015-11-11 10:22:36 · 457 阅读 · 0 评论 -
js中MAP集合的构造
/** MAP构造*/var Map = function() {this.keys = new Array();this.data = new Object();this.put = function(key, val) {if (this.data[key] == null) {this.keys.push(key);}this.data[key] =原创 2015-11-11 09:39:07 · 846 阅读 · 0 评论 -
JS中数组的操作
1、数组的创建var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要转载 2015-11-11 09:36:02 · 270 阅读 · 0 评论 -
JavaScript中清空数组的三种方式
方式1,splice123var ary = [1,2,3,4];ary.splice(0,ary.length);console.log(ary); // 输出 [],空数组,即被清空了方式2,length赋值为0这种方式很有意思,其它语言如Java,其数组原创 2015-11-11 09:37:16 · 423 阅读 · 0 评论 -
jquery 插件写法三
html,body {margin: 0px;padding: 0px;height: 200%;}div {width: 400px;height: 200px;position: fixed;right: 0px;border: 1px solid cadetblue;background-color: gainsboro;}.msg-m原创 2015-11-09 11:40:00 · 342 阅读 · 0 评论 -
jQuery的插件的写法
JQ插件标准的封装代码如下,首先需要闭包:scripttype="text/javascript">(function ($) { //这里放入插件代码})(jQuery);script>这是jQuery官方的插件开发规范,这样写是作用是:1. 避免全局依赖。2. 避免第三方破坏。3. 兼容jQue转载 2015-11-09 09:42:57 · 445 阅读 · 0 评论 -
原生JavaScript事件详解
DOM0事件模型 事件模型在不断发展,早期的事件模型称为DOM0级别。 DOM0事件模型,所有的浏览器都支持。 直接在dom对象上注册事件名称,就是DOM0写法,比如:1 document.getElementById("test").onclick = function(e){}; 意思就是注册一个onclic原创 2015-11-16 09:08:36 · 323 阅读 · 0 评论