Javascript 面向对象编程
Javascript是一个类C的语言,他的面向对象的东西相对于C++/Java比较奇怪,但是其的确相当的强大,在 Todd 同学的“对象的消息模型”一文中我们已经可以看到一些端倪了。这两天有个前同事总在问我Javascript面向对象的东西,所以,索性写篇文章让他看去吧,这里这篇文章主要想从一个整体的解度来说明一下Javascript的面向对象的编程。(成文比较仓促,应该有不准确或是有误的地方,请大家批评指正) 初探 我们知道Javascript中的变量定义基本如下: var name = ‘Chen Hao’;; var email = ‘haoel(@)hotmail.com’; var website = ‘http://coolshell.cn’; 如果要用对象来写的话,就是下面这个样子: var chenhao = { name :’Chen Hao’, email : ‘haoel(@)hotmail.com’, website : ‘http://coolshell.cn’ }; 于是,我就可以这样访问: //以成员的方式 chenhao.name; chenhao.email; chenhao.website; //以hash map的方式 chenhao["name"]; chenhao["email"]; chenhao["website"]; 关于函数,我们知道Javascript的函数是这样的: var doSomething = function(){ alert(‘Hello World.’); }; 于是,我们可以这么干: var sayHello [...]
7 ‘Scroll to Top’ jQuery Solutions
1. jQuery topLink Plugin The topLink jQuery plugin developed by David Walsh, allows you to fade in a “to the top” link when the users scrolls down on the page. 2. Disappearing “Scroll to top” link with jQuery and CSS This tutorial will help you build a scroll to top link, that appears when the [...]
8个图片展示jQuery插件及教程
1. Nivo Slider Nivo Slider是世界知名的轻量级jQuery图片幻灯片插件,可以制作出很漂亮的效果。它完全免费且彻底开源。 2. Sponsor Flip Wall With jQuery & CSS Sponsor Flip Wall是一个非常不错的显示数据到网格里的插件,它使用PHP、CSS与jQuery翻转插件制作而成,其实就是为了创建一个翻转赞助商页面。可以用来展示你的客户或生成一个整洁的翻转动画组合项目。
7 个漂亮的 jQuery 照片插件
本文向你介绍 7 款很漂亮的相片展示的 jQuery 插件,提供在线演示和免费下载。 1. 交互式相片桌面,使用 jQuery 和 CSS3 开发 Demo Download
jQuery设计思想
据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。 对于网页开发者来说,学会jQuery是必要的。因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果。 虽然jQuery上手简单,比其他库容易学会,但是要全面掌握,却不轻松。因为它涉及到网页开发的方方面面,提供的各种方法和内部变化有上千种之多。初学者常常感到,入门很方便,提高很困难。 目前,互联网上最好的jQuery入门教材,是Rebecca Murphey写的《jQuery基础》(jQuery Fundamentals)。在Google里搜索”jQuery 培训”,此书排在第一位。jQuery官方团队已经同意,把此书作为官方教程的基础。
6种编写HTML和CSS的最有效的方法
HTML5、CSS3、JavaScript,给前端开发者提供大大的用武之地。大家都在用很多的工具和技术来武装自己,以加快前端的开发。 本文分享了6中最有效的方法,希望能提供你的效率,为你节约时间。 1.Dynamic CSS(动态CSS) 如果你想加速你的CSS代码编写,那么你需要学习并掌握动态CSS。大部分的动态CSS增加了nested riles, variables, mixins, selector inheritance功能,这里提高代码的利用率。
重温Javascript继承机制
上段时间,团队内部有过好几次几次给力的分享,这里对西风师傅分享的继承机制稍作整理一下,适当加了写口语化的描述,留作备案。 一、讲个故事吧 澄清在先,Java 和Javascript是雷锋和雷峰塔的关系。Javascript原名Mocha,当时还叫做LiveScript,创造者是Brendan Eich,现任Mozilla公司首席技术官。 1994年,历史上第一个比较成熟的网络浏览器——Navigator0.9版诞生在网景公司(Netscape),极为轰动。 但是,Navigator0.9只能用来浏览,不具备与访问者交互的能力,比如,用户提交一个数据表单,如果表单为空,浏览器是无法判断的,只能直接提交给服务器端,再把空值的错误返回,让用户重新填写,这样显然是低效率和浪费资源的。 这个时候,对于正处于技术革新最前沿的 Netscape,开发一种实用的客户端脚本语言来处理这些问题变得必要起来,于是,这个任务落到了工程师Brendan Eich身上。他觉得吧,木必要设计得很复杂,只要能搞定一些简单操作就够了,比如判断用户有没有填写表单。 1994年正是面向对象编程(object-oriented programming)的兴盛时代,C++是最流行的语言,而Java语言的1.0版即将于次年推出,Brendan Eich难免受其影响, 他想将Javascript里面所有的数据类型看做是对象(object),这一点与Java非常相似。但是,他马上就遇到了一个难题,到底要不要设计”继承”机制呢?
开源中最好的Web开发的资源
文章来源:Best “must know” open sources to build the new Web。个人感觉这个收集贴收集成相当的全。 学习HTML 5编程和设计 ★ HTML5 Rocks : Major Feature Groups 的学习 HTML5 的资源 (HTML5 演示, 教程 ). 源码 很不错的 HTML5 Dashboard – Mozilla,效果很炫。 WhatWG Developers, 一个清楚的 HTML5 技术规格说明书。 ★ StackOverflow : 大名鼎鼎的技术问答式论坛。 ★ Addyosmani, jQuery 和 JavaScript 文章教程 Sohtanaka, jQuery 和 JavaScript 文章和教程 ★ Nettuts+ 是一个面对Web开发人员和设计人员的网站,提供各种技术教程和文章,覆盖 [...]
分享15款很棒的 JavaScript 开发工具
TestSwarm: Continious & Distributed JS Testing TestSwarm是Mozilla实验室推出的一个开源项目,它旨在为开发者提供在多个浏览器版本上快速轻松测试自己JavaScript代码的方法。 Minimee 在网络上,速度是很重要的,Minimee能帮助你将CSS和JavaScript文件进行自动压缩和打包。
高效 JavaScript
传统上,网页中不会有大量的脚本,至少脚本很少会影响网页的性能。但随着网页越来越像 Web 应用程序,脚本的效率对网页性能影响越来越大。而且使用 Web 技术开发的应用程序现在越来越多,因此提高脚本的性能变得很重要。 对于桌面应用程序,通常使用编译器将源代码转换为二进制程序。编译器可以花费大量时间优化最终二进制程序的效率。Web 应用程序则不同。因为 Web 应用程序需要运行在不同的浏览器、平台和架构中,不可能事先完全编译。浏览器在获得脚本后要执行解释和编译工作。用户要求不仅要求网页能快速的载入,而且要求最终 Web 应用程序执行的效果要和桌面应用程序的一样流畅。Web 应用程序应能运行在多种设备上,从普通的桌面电脑到手机。 浏览器并不很擅长此项工作。虽然 Opera 有着当前最快的脚本引擎,但浏览器有不可避免的局限性,这时就需要 Web 开发者的帮助。Web 开发者提高 Web 应用程序的性能的方法很多而且也很简单,如只需要将一种循环变成另一种、将组合样式分解成三个或者只添加实际需要的脚本。 本文从 ECMAScript/javascript, DOM, 和页面载入方面分别介绍几种简单的能提高 Web 应用程序性能的方法。 原文地址:http://www.woiweb.net/efficient-javascript.html 目录 ECMAScript 避免使用 eval 或 Function 构造函数 重写 eval 如果你需要函数,那就用函数 避免使用 with 不要在影响性能的关键函数中使用 try-catch-finally 分隔 eval 和 with 避免使用全局变量 注意隐式对象转换 在关键函数中避免 for-in 优化 string 合并 基本运算符比函数调用更快 向 setTimeout() [...]