— Designsor

Archive
Tag "javascript"

为什么要优化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~

Read More

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

Read More

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

Read More