Posts Tagged ‘javascript’

关于JavaScript的for循环优化。

星期四, 5月 20th, 2010

为什么要优化for循环呢。先看下下面的图吧:

导致这图的代码很简单,就是一个很大的for循环:

for(var i=0;i<99999999999;i++){
$(’body’).prepend(i);
}

额,关于for循环,其实一直想写这么个东西。之前看到的相关文章是163 ued的BLOG其中一篇,详细地址是:

http://www.ued163.com/?p=672

他用的方法很值得推荐,今天自己也写了份,在Michael的指导下,写个小函数,感觉又学到了点东西。

function each(i,j,fun){
fun(i);
i++;
if(i<j) setTimeout(function(){each(i,j,fun)},10);
}
each(0,999999999999,function(i){
$(’body’).prepend(i);
});

同样的,用递归加时间控制就可以避免浏览器的锁死。新手值得学习……又补了个基础。V~

谁说没有浏览器就跑不起来javascript?

星期二, 4月 27th, 2010

周星星在唐伯虎点秋香里说“谁说没有枪头就捅不死人?”,嗯,其实套用过来用在这篇文章里也非常好。谁说没有浏览器就跑不起来javascript?

首先,多的不说,看图,本地文件,js和wsf文件2个。我们没有用浏览器哈……

wsript

test.wsf中的代码:分析一下其实很好理解,构建一个windows系统的脚本文件.wsf。然后包含一个外部js文件,执行使用vbs和wsh的对象和方法,调用包含的js文件的定义函数getfreespace();然后输出结果使用wsh的echo方法。

wsript

fso中的js代码,启用ax控件中的sf对象,获得本地磁盘可用空间返回字符串。

wsript

执行后的结果,啊哈,成功执行。

wsript

看到这里你该恍然大悟了吧?啊?javascript还可以这么用呢?确实,很多人,都不太了解这是怎么一回事。其实道理不难理解,javascript说白了,一个脚本语言,而这里上面的例子是调用的微软的jscript和wsh对象完成的,中间引用了一个外部js脚本。唔,别晕。下面看这个解释词条,它列出了我们所理解的各种javascript概念:

javascript脚本语言:一种语言的统称,由ECMAScript262规范,涵盖core javascript,jscript,actionscript等,而非特指其一。

浏览器javascript:包括DOM,BOM模型等在内的对象体系支持的浏览器javascript脚本,不特指具体脚本环境(因为有太多的浏览器内核也就是javascript解释引擎),是目前最广泛的应用,也叫做cliet-side javascript。

corejavascript:也叫javascript,主要是指Netscape/Mozilla系列的浏览器下的javascript,是该语言的主要规范之一。

Jscript:也包含上面那个小破例子中的AX控件对象,泛指微软开发的javascript比如支持的浏览器IE系列。

通过上面的解释,我觉得你该明白了,也当你明白了,javascript是有多少种称呼和版本品牌和叫法啊,完全是历史的原因造成的。不同公司,不同环境,不同宿主对象的结果。幸好,最后他们都归于一个标准EMAC262,基于他的语法和规则,我们的到了各种不同演变后的javascript。

嗯,javascript这个动态脚本语言,他需要一个宿主对象的支持才可以运行,也就是一个语言的运行环境,在浏览器里是windows窗口对象还有dom提供的xml节点对象等,然后使用他们各自浏览器提供的javascript解释器解释翻译执行。

群里今天还在讨论了这个问题,javascript引擎技术。嗯好吧,我也google到了,特此总结下常用的几款:

spiderMonkey(C语言编写应用在Mozilla下),javascriptCore(C++编写运行在safari下),Rhino(java编写),JScript(windows环境以及IE)等。———(其实actionscript应该也算是另类中的一个)

啊哦,说到这里,那么至少我们的javascript离开了我们的可爱的浏览器,他还可以在哪运行呢?嗯,那就是有它解释器的环境下运行了,比如java平台环境下的Rhino,比如我们的windows系统,如本文最开始的WSH例子。他们都属于各自的不同属性和方法,但是本质都还是符合EMAC规范的javascript。

噢,噢,噢。绕了一大圈。好了,这说了半天,javascript还是一个脚本语言啊。嗯哼,对了,他就是一门需要宿主解释器,轻型灵活,弱面向对象的脚本语言。(但看过此文后您可以把“浏览器下”这4个字儿去掉了~)

最后给出一个windowsscripthost手册并借用Michael和我的一段经典语QQ聊天记录结束本文:

Faquir 21:22:26
现代语言基本都要你所说的宿主 
Faquir 21:22:33
JAVA要JVM & JDK
Faquir 21:22:39
.NET要framework 
小爝 21:22:44
对。。
Faquir 21:22:48
由此可见, 
小爝 21:22:52
咋?
Faquir 21:22:54
js与.NET,JAVA平起平坐

一套HTML,CSS,JavaScript的简易规范说明

星期一, 2月 22nd, 2010

在公司为项目自己担当的部分书写了一份简单的代码规范说明和阅读说明,方便别人阅读自己的源代码也严格要求自己养成一定的代码书写规范,所以根据自己的特点和公司项目的特点书写了下面的一份简易的不全面的HTML,CSS,JavaScript规范说明。

下面是概要部分:

HTML,CSS,Javascript开发与说明规范文档

项目中的HTML的规范说明

一,HTML部分的命名的规范
二,HTML属性介绍和常用实例
三,HTML部分标准的头部声明
四,HTML注释规则

项目中的CSS的规范说明

一,Css文件的命名和使用规则
二,CSS的书写规则
三,Css样式名命名规则
四,CSS注释规则

项目中的Javascript的规范说明

一,Javascript使用的框架
二,Jquery的使用方法
三,Javascript的注释
四,Javascript的摆放位置和顺序
五,JavaScript的变量名规则

详细文档地址参见下面链接:

http://www.designsor.com/demo/Htmlcssjs.html

好书推荐-PPK谈Javascript

星期一, 1月 25th, 2010

世界级大师著作,提升JavaScript功力的捷径,代码全部来自实际商业项目。

  ppk向我们全面展示了自己遇到问题、分析问题和解决问题的全过程,内容极为实用,切中Web程序员的需求。

  ——Mike West.Digital Web Magazine

  ppk在本书中倾注了大量心血,这必将是一部杰作。

——JereIny Keith,《JavaScript DOM编程艺术》和{BulletproofAjax中文版》作者

世界级JavaScript大师ppk为我们撰写了一部与众不同的]avaScript著作。书中的8个案例来自作者开发的实际商业项目,将基础知识、Web标准、现代开发理念、最佳实践和大量实战技巧完美地结合起来,读者可以从中直接学习到一流专家分析问题和解决问题的方法。书中的代码从不同角度讲解JavaScript的使用,实现了许多具有通用性的功能。可以直接应用到实际项目中。

本书语言流畅生动。布局谋篇非常精心,是JavaScfipt程序员提升自身实力的绝佳助手。

内容简介

本书全方位介绍了JavaScript,主要讨论了浏览器兼容性、可访问性、底层语法以及与HTML结构层的协同等问题。书中既包括理论性的讲解,又给出了相关的示例脚本以进行进一步阐述。通过8个真实项目示例,介绍了JavaScript核心语言、BOM、事件处理、DOM、修改CSS样式表以及数据检索等内容。

本书适合具有一定网页开发经验的Web开发人员阅读。

我没什么好解释的,我觉得这是Javascript编程人员必读的一本书,在通读过DOM编程艺术之后再配合这本书,你完全可以解决目前项目中80%以上的JS实现和问题,帮助你变身成为JS达人,看领悟能力,本书告诉你怎么做,如何做,和实际工作应该怎么去选择。绝对的经典,我是在地铁中阅读完毕的,全书320多页,每页都值得你仔细阅读。适合有一点JS编程经历但是想深入全面了解JS核心内容的人,或者想入门JS的一些前端设计师们。本书没有复杂的面向对象的内容,适合新手阅读,近期打算去读设计模式,全面发展面向对象的Javascript了。

希望各位真的可以人手一份,而且个人比较崇拜PPK那种精神。关于PPK更多的内容:

Peter-Paul Koch(即ppk)是自学成才的世界级JavaScript专家,1970年生于荷兰阿姆斯特丹,大学主修古希腊罗马史专业。他拥有多年客户端web开发经验,所维护的网站www.quirksmode.or9已成为全球JavaScript开发人员最重要的参考资源之一。他常年为业界顶尖的媒体Digital Web Magazine、AList apart等撰写技术文章,包括影响深远的The JavaScript Manifest0。此外,他还是w曲设计师论坛(WDF)的管理员。


Dtools Top
本页文章快速定位...