文章分类 -  【javascript】

摘要:摘要: 因为javascript可能会来操作HTML文档的DOM树,所以,浏览器一般都不会像并行下载css文件并行下载js文件,因为这是js文件的特殊性造成的 一两个月前在淘宝内网里看到一个优化Javascript代码的竞赛,发现有不少的人对Javascript的执行和装载的基础并不懂,所以,从那天起我就想写一篇文章,但一直耽搁了。 首先,我想说一下Javascript的装载和执行。通常来说,浏览器对于Javascript的运行有两大特性: 载入后马上执行 执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)。于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载 阅读全文
posted @ 2013-06-06 14:43 不弃的追求 阅读(220) 评论(0) 推荐(0)
摘要:Modernizr是一个开源的JS库,它使得那些基于访客浏览器的不同(指对新标准支持性的差异)而开发不同级别体验的设计师的工作变得更为简单。AD:10年前,只有最尖端的网站设计师会为网页的布局和修饰使用CSS。那时的浏览器对CSS进行布局的支持即不完善又漏洞百出,所以这些人在坚持WEB标准化的同时,也不得不采用hacks来使得他们的页面在所有浏览器中都能正常显示。其中一个被使用的越来越多的hack技术是浏览器嗅探(browser sniffing),使用Javascript里的navigator.userAgent属性来判断用户使用的是什么品牌哪个版本的浏览器。浏览器嗅探技术可以快捷的将代码进 阅读全文
posted @ 2012-05-31 14:35 不弃的追求 阅读(258) 评论(0) 推荐(0)
摘要:由于绘制矢量图的不同技术愈发成熟以及现代浏览器所具备的更强大的计算能力等原因,目前网上出现了越来越多免费 的JavaScript图表和图形绘制解决方案。在本文中就将分享13个优秀实用的JavaScript图表和图形绘制插件,它们少数是独立的框架,大多 数支持条图、线图、饼图等基本图形,很多甚至支持更加复杂的图形,希望对你有所帮助。1.Flotr22.Rickshaw3.D34.Awesome Chart JS5.canvasXpress6.Humble Finance7.RGraph8.dygraphs9.HighChart10.gRaphael11.jqPlot12.JS Charts13. 阅读全文
posted @ 2012-02-28 16:49 不弃的追求 阅读(292) 评论(0) 推荐(0)
摘要:JavaScript是基于对象的,任何元素都可以看成对象。然而,类型和对象是不同的。本文中,我们除了讨论类型和对象的一些特点之外,更重要的是研究如何写出好的并且利于重用的类型。毕竟,JavaScript这种流行的脚本语言如果能够进行良好的封装,并形成一个庞大的类型库,对于重用是非常有意义的。网上对于prototype的文章很多,一直没明白核心的思想。最后写了很多例子代码后才明白:prototype只能用在类型上。以下是一些关于类型和对象的例子,大家看完例子后可能更容易理解类型和对象之间的联系:例子代码说明1Object.prototype.Property = 1;Object.prototy 阅读全文
posted @ 2011-11-25 15:22 不弃的追求 阅读(359) 评论(0) 推荐(0)
摘要:<HTML><HEAD><TITLE>JavaScript--execCommand指令集</TITLE><SCRIPTLANGUAGE="javascript"><!--/**该function执行copy指令*/functionfn_doufucopy(){edit.select();document.execCommand('Copy');}/**该function执行paste指令*/functionfn_doufupaste() {tt.focus();document.execCo 阅读全文
posted @ 2011-07-04 11:06 不弃的追求 阅读(382) 评论(0) 推荐(0)
摘要:<script language=javascript>var ImgObj=new Image(); //建立一个图像对象var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//全局变量 图片相关属性//以下为限制变量var AllowExt=".jpg|.gif|.doc|.txt|" //允许上传的文件类型 ?为无限制 每个扩 阅读全文
posted @ 2011-06-21 10:56 不弃的追求 阅读(1771) 评论(0) 推荐(0)
摘要:有的时候,像jQuery这样的Web框架对于网站建设非常重要。很多的开发人员会选择合适的框架以帮助他们专注于网站的建设,而不用花太多的时间去思考如何设计一个网站。下面列举了12个新鲜出炉的Web开发框架,掌握其中的一两个,相信可以帮助你节省很多时间和精力。1.Timeglider2.TreesaverJS3.520 Grid System4.LimeJS5.Wink Toolkit6.XUI7.Baker Framework8.ActiveJS9.RightJS10.EZ-CSS11.Marker CSS12. Atatonic原文出自:博客园 阅读全文
posted @ 2011-05-24 21:18 不弃的追求 阅读(205) 评论(0) 推荐(0)
摘要:无论是界面之美,还是功能之强,ext的表格控件都高居榜首。单选行,多选行,高亮显示选中的行,推拽改变列宽度,按列排序,这些基本功能咱们就不提了。自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间推拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里实现了。呵呵~不过ext也不是万能的,与fins的ecside比较,ext不能锁定列(土豆说 阅读全文
posted @ 2011-04-21 13:19 不弃的追求 阅读(3079) 评论(1) 推荐(1)
摘要:在本章中,我们将分析Prototypejs中关于JavaScript继承的实现。 Prototypejs是最早的JavaScript类库,可以说是JavaScript类库的鼻祖。 我在几年前接触的第一个JavaScript类库就是这位,因此Prototypejs有着广泛的群众基础。 不过当年Prototypejs中的关于继承的实现相当的简单,源代码就寥寥几行,我们来看下。 早期Prototypejs中继承的实现 源码: var Class = { // Class.create仅仅返回另外一个函数,此函数执行时将调用原型方法initialize create: function() { ret 阅读全文
posted @ 2011-04-06 21:54 不弃的追求 阅读(210) 评论(0) 推荐(0)
摘要:在本章中,我们将分析John Resig关于JavaScript继承的一个实现 - Simple JavaScript Inheritance。 John Resig作为jQuery的创始人而声名在外。是《Pro JavaScript Techniques》的作者,而且Resig将会在今年秋天推出一本书《JavaScript Secrets》,非常期待。 调用方式 调用方式非常优雅: 注意:代码中的Class、extend、_super都是自定义的对象,我们会在后面的代码分析中详解。 var Person = Class.extend({ // init是构造函数 init: function 阅读全文
posted @ 2011-04-06 21:38 不弃的追求 阅读(205) 评论(0) 推荐(0)
摘要:在本章中,我们将分析Douglas Crockford关于JavaScript继承的一个实现 - Classical Inheritance in JavaScript。 Crockford是JavaScript开发社区最知名的权威,是JSON、JSLint、JSMin和ADSafe之父,是《JavaScript: The Good Parts》的作者。 现在是Yahoo的资深JavaScript架构师,参与YUI的设计开发。 这里有一篇文章详细介绍了Crockford的生平和著作。 当然Crockford也是我等小辈崇拜的对象。调用方式 首先让我们看下使用Crockford式继承的调用方式: 阅读全文
posted @ 2011-04-06 21:37 不弃的追求 阅读(238) 评论(0) 推荐(0)
摘要:在第一章中,我们使用构造函数和原型的方式在JavaScript的世界中实现了类和继承, 但是存在很多问题。这一章我们将会逐一分析这些问题,并给出解决方案。 注:本章中的jClass的实现参考了Simple JavaScript Inheritance的做法。首先让我们来回顾一下第一章中介绍的例子: function Person(name) {this.name = name;}Person.prototype = {getName: function() {return this.name;}}function Employee(name, employeeID) {this.name = 阅读全文
posted @ 2011-04-06 21:36 不弃的追求 阅读(217) 评论(0) 推荐(0)
摘要:这一章我们将会重点介绍JavaScript中几个重要的属性(this、constructor、prototype), 这些属性对于我们理解如何实现JavaScript中的类和继承起着至关重要的作用。 thisthis表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: <script type="text/javascript"> 阅读全文
posted @ 2011-04-06 21:34 不弃的追求 阅读(184) 评论(0) 推荐(0)
摘要:面向对象与基于对象几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。 类定义了一类事物公共的行为和方法;而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。 这里面就有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子: view sourceprint?01// 阅读全文
posted @ 2011-04-06 21:33 不弃的追求 阅读(215) 评论(0) 推荐(0)
摘要:Javascript继承 一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面。这里仅仅是把自己的学习体会拿出来分享一下,希望对大家学习Javascript有所帮助。 Javascript本身是从Perl语言的语法演变而来的,本质上是脚本语言,随着版本的更新逐渐加入的对面向对象的模拟。我认为Js的面向对象模拟总体上做得还是不错的,因为我们不能盲从任何一种理念,不能纯粹的为了OOP而OOP,我们需要抓住的是面向对象的好处到底是什么?为了这些优点去OOP,才是最明智的选择,所以说Js做得 阅读全文
posted @ 2011-04-06 21:25 不弃的追求 阅读(235) 评论(0) 推荐(0)
摘要:导语:jQuery的易扩展性吸引了来自全球的开发者来共同编写jQuery插件。jQuery插件不仅能够增强网站的可用性,有效地改善用户体验,还可以大大减少开发时间。现在的jQuery插件很多,可以根据您的项目需要来选择。这里为您介绍20款非常不错的插件。Creative Radical Web TypographyLettering.js是一个轻量经的、易于使用的jQuery插件,可创造出极具个性的网页排版,是2010年最佳jQuery插件之一。New FancyMoves Jquery Product SliderJquery Product Slider是一款效果很不错的产品幻灯片插件。J 阅读全文
posted @ 2011-02-18 16:58 不弃的追求 阅读(162) 评论(0) 推荐(0)
摘要:简介这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助!JavaScript,调用函数的5种方法  一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性, 当我们选择面对它的时候,这将成为我们前进的阻碍.  作为初学者,我们来测试五种函数调用的方法,从表面来看我们会认为那些函数与C#中函数的作用非常相似,但是我们一会儿可以看到还是有非常重要的不同的地方的,忽视这些差异无疑会导致难于跟 阅读全文
posted @ 2010-12-16 20:28 不弃的追求 阅读(246) 评论(0) 推荐(0)
摘要:一、函数和方法差异1 . getYear()方法【分析说明】先看一下以下代码:varyear=newDate().getYear();document.write(year);  在IE中得到的日期是"2010",在Firefox中看到的日期是"110",主要是因为在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值。【兼容处理】  加上对年份的判断,如:varyear... 阅读全文
posted @ 2010-04-09 10:52 不弃的追求 阅读(709) 评论(0) 推荐(0)