随笔分类 -  Javascript原理

摘要:前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来。现分类整理出来分享给大家,也补充... 阅读全文
posted @ 2015-01-19 10:27 sexy_girl 阅读(366) 评论(0) 推荐(0)
摘要:译者注:本文原文Revealing the Magic of JavaScript,原标题“揭秘JavaScript魔法”,本文深入浅出,揭示了几个前沿框架如jQuery、angularJs、EmberJs和React的几个核心功能点的实现技巧,无论是对前端菜鸟还是老鸟,相信都会有一定的启迪。鄙人精... 阅读全文
posted @ 2014-10-11 19:00 sexy_girl 阅读(4109) 评论(0) 推荐(2)
摘要:http://www.cnblogs.com/snandy/archive/2012/12/19/2812935.htmlDeferred对象是由$.Deferred构造的,$.Deferred被实现为简单工厂模式。它用来解决JS中的异步编程,它遵循Common Promise/A规范。实现此规范的... 阅读全文
posted @ 2014-09-25 23:57 sexy_girl 阅读(678) 评论(0) 推荐(0)
摘要:有了正则表达式基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实例的几个属性RegExp实例对象有五个属性global:是否全局搜索,默认是falseignoreCase:是否大小写敏感,默认是falsemultiline:多行搜索,默认值是falselastIndex:是当前表达式模式首次匹配内容中最后一个字符的下一个位置,每次正则表达式成功匹配时,lastIndex属性值都会随之改变。source:正则表达式的文本字符串除了将正则表达式编译为内部格式从而使执行更快的compile()方法,对象还有两个我们常用的方法regObj.test(strO 阅读全文
posted @ 2014-03-04 17:13 sexy_girl 阅读(242) 评论(0) 推荐(0)
摘要:定义JavaScript种正则表达式有两种定义方式,定义一个匹配类似的字符串1. 构造函数var reg=new RegExp(']+%>','g');2. 字面量var reg=/]%>/g;g:global,全文搜索,默认搜索到第一个结果接停止i:ingore case,忽略大小写,默认大小写敏感m:multiple lines,多行搜索元字符正则表达式让人望而却步以一个重要原因就是其转义字符太多了,组合非常之多,但是正则表达式的元字符(在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符)并不多元字符:( [ { \ ^ $ | ) ? 阅读全文
posted @ 2014-03-04 17:11 sexy_girl 阅读(199) 评论(0) 推荐(0)
摘要:很长时间没看 正则表达式了,碰巧今天用到,温故知新了一把 看书学习吧50% 的举一反三练习中的原创。一 javascript正则表达式的基本知识1 javascript 正则对象创建 和用法 声明javascript 正则表达式 var reCat = new RegExp("cat");你也可以var reCat = /cat/; //Perl 风格 (推荐)2 学习最常用的 test exec match searchreplacesplit 6个方法 1) test检查指定的字符串是否存在 var data = "123123"; var reCa 阅读全文
posted @ 2014-03-04 17:10 sexy_girl 阅读(146) 评论(0) 推荐(0)
摘要:今天写组件的时候遇到一个问题,就是当我需要对获取到的对象列表进行删减的时候,发现没有合适的方法,比如://获取图片列表var imgs = document.getElementsByTagName("img");这个列表可以用imgs[0]的数组方法访问元素,但是不能用数组的方法进行编辑.shift()等数组方法无效removeChild()无效deleteimgs[0]无效从网上查了查有个方法可以把这对象列表返回成数组:aImg = Array.prototype.slice.call(imgs);但是这方法不支持ie,于是就有了现在的最终方法:function con 阅读全文
posted @ 2014-03-04 14:32 sexy_girl 阅读(321) 评论(0) 推荐(0)
摘要:一、前言什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定。比如:var tpl ='Hei, my name is , and I\'m years old.';通过模板引擎函数把数据塞进去,var data ={ "name":"Barret Lee", "age":"20"};var result = tplEngine(tpl, data);//Hei, my name is Barret Lee, and I'm 20 years old.那这玩意儿有什么作用呢?其 阅读全文
posted @ 2013-12-18 11:19 sexy_girl 阅读(334) 评论(0) 推荐(0)
摘要:上周,jQuery 1.9发布。这是2.0版之前的最后一个新版本,有很多新功能,其中一个就是支持Source Map。访问http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js,打开压缩后的版本,滚动到底部,你可以看到最后一行是这样的: //@ sourceMappingURL=jquery.min.map这就是Source Map。它是一个独立的map文件,与源码在同一个目录下,你可以点击进去,看看它的样子。这是一个很有用的功能,本文将详细讲解这个功能。一、从源码转换讲起JavaScript脚本正变得越来越复杂。大部分. 阅读全文
posted @ 2013-10-28 20:09 sexy_girl 阅读(259) 评论(0) 推荐(0)
摘要:debugger; 阅读全文
posted @ 2013-10-24 13:37 sexy_girl 阅读(128) 评论(0) 推荐(0)
摘要:by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=3432 一、本文就是个实例展示 三点: 我就TM想找个例子,知道如何个使用,使用语法什么的滚粗 跟搜索引擎搞基 自己备忘 精力总是有限的,昨天一冲动,在上海浦东外环之外订了个90米的... 阅读全文
posted @ 2013-10-15 19:56 sexy_girl 阅读(251) 评论(0) 推荐(0)
摘要:温故而知新 ———— 最近温习了一遍Javascript 语言,故把一些基础、概念性的东西分享一下。 (下面内容大都为条目、索引,是对知识点的概括,帮助梳理知识点,具体内容需要查阅资料) JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 ... 阅读全文
posted @ 2013-10-09 14:42 sexy_girl 阅读(197) 评论(0) 推荐(0)
摘要:昨晚,朋友拿了一道题问我: a.onclick = function(){ setTimeout(function() { //do something ... },0);};JavaScript API 文档明确定义:setTimeout的第二个参数意义为隔多少毫秒后,回调方法就会被执行。那么可以推断出:这里设成0毫秒,就立即被执行了。 —————— 既然立即执行... 阅读全文
posted @ 2013-10-09 14:29 sexy_girl 阅读(278) 评论(0) 推荐(0)
摘要:setTimeout和setInterval的基本用法我们不谈,无非是1.指定延迟后调用函数,2.以指定周期调用函数 让我们想象一个意外情况,比如说下面的setInterval setInterval(function () { func(i++);}, 100)我们以每100毫秒调用一次func函数,如果func的执行时间少于100毫秒的话好办,在遇到下一个100毫秒前就能够执行完:但... 阅读全文
posted @ 2013-10-09 11:58 sexy_girl 阅读(284) 评论(0) 推荐(0)
摘要:jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。对于网页开发者来说,学会jQuery是必要的。因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果。虽然jQuery上手简单,比其他库容易学会,但是要全面掌握,却不轻松。因为它涉及到网页开发的方方面面,提供的各种方法和内部变化有上千种之多。初学者常常感到,入门很方便,提高很困难。目前,互联网上最好的jQuery入门教材,是Rebecca Murphey写的《jQuery 阅读全文
posted @ 2013-09-29 18:57 sexy_girl 阅读(171) 评论(0) 推荐(0)
摘要:闭包是JavaScript中的重要特性之一,大多数用过JavaScript的程序员也基本上都接触过闭包,不管是否知道或了解闭包这个概念。比如在用jQuery的时候:var count = 0;$('.btn').onclick = function(e) { count += 1;};闭包,维基百科的解释是:指引用了自由变量的函数。而我个人认为前端大牛johnhax的解释更加容易理解:闭包就是内部函数能访问外部的变量。所以,要理解闭包,只要理清楚变量作用域这个概念就差不多了。我也把对变量作用域的一些个人理解记录在了前两篇文章中,故这里就只简单说说一个函数它可以访问哪些作用域中的 阅读全文
posted @ 2013-09-13 21:33 sexy_girl 阅读(226) 评论(0) 推荐(0)
摘要:drag me -------------------------------------- setCapture 的意思就是设置一个对象的方法被触发的范围,或者作用域。 如果不设置,则div只在当前窗口内被触发。如果设置,则在整个浏览器范围内被触发,也就是可以拖到浏览器外面 阅读全文
posted @ 2013-09-11 16:24 sexy_girl 阅读(265) 评论(0) 推荐(0)
摘要:这篇文章是对 JavaScript跨域总结与解决办法 的补充。 有三个页面: a.com/app.html:应用页面。 a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件,需要和应用页面在同一域下。 b.com/data.html:应用页面需要获取数据的页面,可称为数据页面。 实现起来基本步骤如下: 在应用页面(a.com/app... 阅读全文
posted @ 2013-09-10 11:55 sexy_girl 阅读(148) 评论(0) 推荐(0)
摘要:本文所说的是浏览器窗口的可视区域大小,不是浏览器窗口大小,也非页面尺寸。 在没有声明DOCTYPE的IE中,浏览器显示窗口大小只能以下获取: document.body.offsetWidthdocument.body.offsetHeight在声明了DOCTYPE的浏览器中,可以用以下来获取浏览器显示窗口大小:document.documentElement.clientWidthdocum... 阅读全文
posted @ 2013-09-07 00:03 sexy_girl 阅读(198) 评论(0) 推荐(0)
摘要:IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。 document.compatMode正好派上用场,它有两种... 阅读全文
posted @ 2013-09-07 00:01 sexy_girl 阅读(287) 评论(0) 推荐(0)