- 浏览: 38649 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
vieri122:
数据没有说服力~!起码在大型的web应用中,php肯定不会比j ...
web开发平台路线选择分析-1 -
chii:
linux无疑是首选,性能高、稳定、安全,相对的人力投入可以忽 ...
web开发平台路线选择分析-1 -
mmme:
中中中
提速javascript开发(二) -
mmme:
一直不知道什么是“侵入”“无侵入”
长见识了
提速javascript开发(二) -
mmme:
一直不知道什么叫“侵入”,“无侵入”长见识了
提速javascript开发(二)
提速javascript开发(一)
Web开发时,我们可能经常抱怨,javascript。它太耗时间精力,甚至让我们觉得它恶心。服务器端,我们有优秀的java语言和webwork、spring等框架来帮助我们提高效率。而客户端只有灵活、难以掌握的javascript,那么我们的希望在哪呢?但愿下面的内容能够对你有些帮助。
1、它是怎样的?
Javascript目前由二块构成:Core(核心部分)+DOM实现部分。(DOM是w3c定义的针对HTML、XML文档编程的一系列接口。通过这些接口,我们可以改变文档结点的结构、样式、内容。实现这些接口的语言可以是java、Python,javascript等。)
Core
|
定义了语法规则,及内置的全局对象(Date、Function等),全局方法(parseFloat),全局属性(NaN,undefined等)
|
Dom
|
针对HTML文档与XML文档操作的API
|
2、 慢在哪?
2.1、java VS javascript
Java是面向对象的代表性语言之一,面向对象语言是时下比较流行、开发效率高的主流开发语言。面向对象语言包括几个主要特性:抽象,继承,封装和多态。Javascript本质上不是面向对象的,而是基于对象的。基于对象的语言对上面四个特性支持很差,或者只支持部分特性。
|
抽象
|
继承
|
多态
|
封装
|
java
|
具备:类,接口,抽象类四个概念
|
支持:
通过关键字
Extends,implements实现
|
支持:
1)表现在对象的方法可以重载
2)子类可以被当作父类处理
|
支持:
private,
friendly,
protected,
public
四个级别的封装
|
javascript
|
仅具备:
类,这一个概念
|
支持很差:
通过prototype实现;
Function的apply或call方法间接实现。
|
不支持
|
支持很差:仅支持private,
public二个级别
|
比较结果
|
1恶劣的继承导致:无法实现子类与父类之间关系的判断,并且子类无法转化成父类。所以无法根据类的类型处理业务:处理父类的代码,无法处理子类。——扩展性差
2 陈旧的代码书写方式导致:本不好的封装性变的更加差劲。这样对象间的隔离成本增加,内聚性弱。
|
|||
大大降低了开发效率
|
2.2、浏览器的兼容性
Core与Dom部分都存在着浏览器平台的差异性,进一步降低了开发的效率。
3、 开始加速
3.1、加强封装性
提倡的写法
- function A(){
- var locate1 = "1oh";
- this.locate2 = "2oh";
- var method1 = function(){
- alert(locate1);
- }
- this.method2 = function(){
- alert(this.locate2);
- method1();
- }
- }
优点:封装性好,实现代码变化的隔离。
缺点:代码可读性差。
弥补方式:利用javascript的优秀插件,如:jseclipse。
禁止的写法
- function A(){
- var locate1 = "1oh";
- var method1= function(){
- alert(locate1);
- };
- }
- A.prototype={
- locate2:"2oh",
- method2:function(){
- alert(this.locate2);
- },
- method3:function(){
- alert(locate1);
- method1();
- }
- }
- var a = new A();
- a.method2();
- a.method3();
优点:代码可读性好。
缺点:
没有全局的私有变量
|
如果执行a.method3();根本无法访问变量locate1。
|
prototype中的方法是公共的。
|
a.method2()成功访问,在prototype中定义的方法是public级别;无法在prototype中定义全局的private变量。
|
总体效果
|
1) 封装性极其差
2) 代码调用不方便。
|
3.2 类继承
禁止写法
prototype继承
|
万恶之首:目前有很多继承写法,都是直接或者间接使用它。严重破坏封装性。
|
没法实现多态:只是简单的复用,这种继承意义不大。
|
|
apply,或者call
|
只是复用:简单的在当前对象中,执行对象之外的另一个方法。
|
这几种javascript的继承写法虽然目前被大量的使用,但是他们的缺点是明显的,因此我们不建议采用这些常见的javascript继承写法。
推荐写法
例子很长,先给大家一些看完的动力吧,下面是它的优点。
代码复用
|
如果A继承B,那么A可复用B中public级别的资源
|
单一,多层的继承
|
B可以继承C,A可以继承B,不存在A继承B又继承C。
|
多态
|
A是父类,B与C是A的子类,如果存在一个方法X,是处理A类的,那么它也能处理B与C类。扩展性好,容纳了变化:可以处理,将来因业务需求新建的D类。
|
待 续……[提速javascript开发(二)]
评论
26 楼
pcno1
2007-04-17
路过学习收藏
25 楼
sp42
2007-04-15
bouzouki 写道
sp42 写道
其实,js是一门很好玩的语言,稍花点时间和来点兴趣,就会对这DSL爱不释手,相信能给你带来java、.net无法比拟的乐趣。
p.s如果你玩过dhtml,更能明白我说什么。
p.s如果你玩过dhtml,更能明白我说什么。
yeah! js is an enjoyable language, although the various libs are more pragmatic and productive for real web-development, it's an enlightenment to understand its prototype-based oo mechanism.
Indeed! There's a lot of myth of JavaScript, waiting for us to explore!
24 楼
bouzouki
2007-04-15
sp42 写道
其实,js是一门很好玩的语言,稍花点时间和来点兴趣,就会对这DSL爱不释手,相信能给你带来java、.net无法比拟的乐趣。
p.s如果你玩过dhtml,更能明白我说什么。
p.s如果你玩过dhtml,更能明白我说什么。
yeah! js is an enjoyable language, although the various libs are more pragmatic and productive for real web-development, it's an enlightenment to understand its prototype-based oo mechanism.
23 楼
gates_lee
2007-04-15
<div class='quote_div'>
<div><strong><font size='2'/></strong></div>
<div align='left'>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span> </li>
<li class=''><span> </span><span class='keyword'>var</span><span> locate1 = </span><span class='string'>"1oh"</span><span>; </span> </li>
<li class='alt'><span> </span><span class='keyword'>this</span><span>.locate2 = </span><span class='string'>"2oh"</span><span>; </span> </li>
<li class=''><span> </span><span class='keyword'>var</span><span> method1 = </span><span class='keyword'>function</span><span>(){ </span> </li>
<li class='alt'><span> alert(locate1); </span> </li>
<li class=''><span> } </span> </li>
<li class='alt'><span> </span><span class='keyword'>this</span><span>.method2 = </span><span class='keyword'>function</span><span>(){ </span> </li>
<li class=''><span> alert(</span><span class='keyword'>this</span><span>.locate2); </span> </li>
<li class='alt'><span> method1(); </span> </li>
<li class=''><span> } </span> </li>
<li class='alt'><span>} </span> </li>
</ol>
</div>
</div>
<div/>
<div/>
</div>
<p>这样的话,在每new一个A的时候,每个对象都是拥有自己的method2,而不是作为prototype存在。</p>
<p>关于public、private可以在开发中作出协议,例如,方法名前用_,表示方法是私有的。<br/>
</p>
<div><strong><font size='2'/></strong></div>
<div align='left'>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span> </li>
<li class=''><span> </span><span class='keyword'>var</span><span> locate1 = </span><span class='string'>"1oh"</span><span>; </span> </li>
<li class='alt'><span> </span><span class='keyword'>this</span><span>.locate2 = </span><span class='string'>"2oh"</span><span>; </span> </li>
<li class=''><span> </span><span class='keyword'>var</span><span> method1 = </span><span class='keyword'>function</span><span>(){ </span> </li>
<li class='alt'><span> alert(locate1); </span> </li>
<li class=''><span> } </span> </li>
<li class='alt'><span> </span><span class='keyword'>this</span><span>.method2 = </span><span class='keyword'>function</span><span>(){ </span> </li>
<li class=''><span> alert(</span><span class='keyword'>this</span><span>.locate2); </span> </li>
<li class='alt'><span> method1(); </span> </li>
<li class=''><span> } </span> </li>
<li class='alt'><span>} </span> </li>
</ol>
</div>
</div>
<div/>
<div/>
</div>
<p>这样的话,在每new一个A的时候,每个对象都是拥有自己的method2,而不是作为prototype存在。</p>
<p>关于public、private可以在开发中作出协议,例如,方法名前用_,表示方法是私有的。<br/>
</p>
22 楼
gates_lee
2007-04-14
为什么说js不支持多态那,js可是弱类型的。
21 楼
windproof
2007-04-14
学习中
20 楼
logonin
2007-04-07
很受启发
19 楼
yuwen3434
2007-04-05
好贴好贴
18 楼
liufeng
2007-04-04
GOOGLE MAPS AP去哪找啊。请问下哦
17 楼
liufeng
2007-04-04
原来还有这么大的好处啊。
16 楼
fjb1822001
2007-03-19
周晓明同志是个好同志,勤奋刻苦,有激情,希望以后多多发表文章和心得,严重的支持你一下!!!看在你半夜三点发帖的态度上,哈哈
15 楼
chenhuiwu
2007-03-14
楼主,强人.
14 楼
zjjxll
2007-03-12
建议搂主去看下GOOGLE MAPS API,如果不会破解,可以去看下51DITU API ,看了后你就晓得你说得封装和继承得问题可以得到比较好得解决,而且还有许多JAVA .NET中玩不出得精彩技巧
13 楼
zxmlgh
2007-03-12
<p><font>没有完美的方式。我自己的写法也是有代价的,prototype的代价个人感觉更大。首先在javascript中做出很好的封装性很难!prototype写的继承有个最大的缺点(暂且不说它的封装性),如下。</font>这是目前许多比较优雅的写法。如果我用prototype弄继承,那么代码最好是</p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype={ </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
<p> </p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype={ </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span> </span></li>
<li class='alt'><span/><span class='keyword'>function</span><span> A(){ </span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span/><span class='keyword'>function</span><span> B(){ </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype=</span><span class='keyword'>new</span><span> B()</span><span class='comment'>//或者其它写法都可以,都会面临下面的问题 </span><span> </span></li>
<li class='alt'><span>A.prototype.x= </span><span class='keyword'>function</span><span>(){}</span><span class='comment'>//等等其它新增的方法都这样定义。 </span><span> </span></li>
<li class=''><span/><span class='comment'>/** </span> </li>
<li class='alt'><span><span class='comment'>*这样的后果就是封装性不仅,差,写个同样功能的类,也比较长。 </span> </span></li>
<li class=''><span><span class='comment'>*/</span><span> </span></span></li>
</ol>
</div>
<p>当然有的时候封装性也不太重要。这事上没有绝对的事情,文章中的<font color='#ff0000'>观点针对的是</font>:发挥js对象的特点而言。甚至有的时候没有必要发挥其对象性的一面,这都是根据需要来用的。</p>
<p><strong><font color='#ff0000'>强烈建议大家在表达自己想法时:</font></strong>给些例子。最好再将例子与反对的例子对比下,这样说明的话,理解的直观些</p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype={ </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
<p> </p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>function</span><span> A(){ </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype={ </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span> </span></li>
<li class='alt'><span/><span class='keyword'>function</span><span> A(){ </span></li>
<li class=''><span> </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span/><span class='keyword'>function</span><span> B(){ </span></li>
<li class='alt'><span>} </span></li>
<li class=''><span>A.prototype=</span><span class='keyword'>new</span><span> B()</span><span class='comment'>//或者其它写法都可以,都会面临下面的问题 </span><span> </span></li>
<li class='alt'><span>A.prototype.x= </span><span class='keyword'>function</span><span>(){}</span><span class='comment'>//等等其它新增的方法都这样定义。 </span><span> </span></li>
<li class=''><span/><span class='comment'>/** </span> </li>
<li class='alt'><span><span class='comment'>*这样的后果就是封装性不仅,差,写个同样功能的类,也比较长。 </span> </span></li>
<li class=''><span><span class='comment'>*/</span><span> </span></span></li>
</ol>
</div>
<p>当然有的时候封装性也不太重要。这事上没有绝对的事情,文章中的<font color='#ff0000'>观点针对的是</font>:发挥js对象的特点而言。甚至有的时候没有必要发挥其对象性的一面,这都是根据需要来用的。</p>
<p><strong><font color='#ff0000'>强烈建议大家在表达自己想法时:</font></strong>给些例子。最好再将例子与反对的例子对比下,这样说明的话,理解的直观些</p>
12 楼
whisper
2007-03-12
我的原则是没有任何理由去面向对象
写出程序流程,然后注入函数就足够了
写出程序流程,然后注入函数就足够了
11 楼
rautinee
2007-03-11
支持一下!看的出楼主写的是自己项目的真实感受,感同身受,对于一个团队来讲,养成良好的默契的开发习惯至关重要,条条大路通罗马,选择适合自己团队的一条路就可以!
10 楼
jianfeng008cn
2007-03-11
jindw 写道
这里所谓的js的private变量,其实就是局部变量。
private和public这样的访问权限的封装在js 脚本语言里,意义应该不是很大吧?
引用
3.2 类继承
禁止写法
prototype继承 万恶之首:目前有很多继承写法,都是直接或者间接使用它。严重破坏封装性。
没法实现多态:只是简单的复用,这种继承意义不大。
apply,或者call 只是复用:简单的在当前对象中,执行对象之外的另一个方法。
这几种javascript的继承写法虽然目前被大量的使用,但是他们的缺点是明显的,因此我们不建议采用这些常见的javascript继承写法。
prototype继承 万恶之首?是不是太武断了?
prototype这个语言本身支持的东西用起来安全性等还是有优势的吧,
比如利用prototype封装实例方法相对楼主的方法能有效的避免ie内存泄露。
楼主实现的继承等功能在利用prototype的基础上应该也能实现吧?
9 楼
zxmlgh
2007-03-10
提速javascript开发(二),已发表,如有指点,请各位回帖说明,本人认真向各位学习。
8 楼
zxmlgh
2007-03-10
<p>javascript是个灵活的语言。本身的语法规则也是弱类型,弱类型有它的强处也有它的弱处,同时类型与对象的概念也确实存在。自己在开发中<strong><font color='#ff0000'>不是</font><font color='#ff0000'>处处</font></strong>强调类型的,经常感受类型自动转化的好处。但在某些场合,我们在代码中强调类型也是有好处的。</p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='comment'>/** </span> </span></li>
<li class=''><span><span class='comment'> * 计算String的长度:String中的中文字符将计算为二个字符长度。 </span> </span></li>
<li class='alt'><span><span class='comment'> * @param param 参数类型是字符串,它是被计算的字符串对象。 </span> </span></li>
<li class=''><span><span class='comment'> */</span><span> </span></span></li>
<li class='alt'><span>String.getLength = </span><span class='keyword'>function</span><span>(param){ </span></li>
<li class=''><span> </span><span class='keyword'>var</span><span> temp = Type.conversion(param,</span><span class='string'>"string"</span><span>); </span></li>
<li class='alt'><span> </span><span class='keyword'>if</span><span>(Type.isString(temp)){ </span></li>
<li class=''><span> </span><span class='keyword'>var</span><span> b = temp.replace(/[^\x00-\xff]/g,</span><span class='string'>"**"</span><span>).length; </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> b; </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> 0; </span></li>
<li class=''><span>} </span></li>
</ol>
</div>
<p> 这个方法的目的是很明确的,在此强调类型,对我至少没有坏处。有些场合强调类型原因就是,要获得强调类型的好处。又比如多态就是:要对同一类型内的情况进行处理,对不是这个类型的或者它的子类,代码就不应该工作。那么当我们需要这种情况,为何不用多态呢?</p>
<p> 这个世界是多样的,代码中也如此。没必要有了黑的,就一定不能要白的啊。当我们需要什么时,如果就有什么——至少不是一件坏事啊。上面代码有个Type类的,Type中包含了错误处理机制。弱类型是有好处,但它也是有弱处的。在错误处理机制中,类型明确也是可以获得好处的。一个强壮的错误处理机制,对调试很有用。(有些调试器下载安装后,但仍然对某些代码无效。各位本人缺好的javascript调试器,哪位有好的,发到我邮箱中吧,先谢谢了)</p>
<p> 帖子里的编码模式,我用了有一段时间。加快了我的速度,同时代码质量,个人感觉更好了。如果js程序出现业务功能上的bug,在几千行javascript代码中可较快的定位准,并以较低的代价解决。楼上所说的:“却忘记了你这构造函数里创建的成员都有被搞成final的风险! 断了继承的后路。有些时候,构造函数是不能轻易调用的。 比如说,在构造函数里有重量级的初始化代码。”一下子理解不了。在实际的编码过程中,大的javascript类,八九百行代码也写过(ui方面编程)但没有遇上那些问题。望给些代码实例,这样可以有个直观的理解。<img src='/javascripts/fckeditor/editor/images/smiley/msn/teeth_smile.gif' alt=''/></p>
<p> </p>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
<li class='alt'><span><span class='comment'>/** </span> </span></li>
<li class=''><span><span class='comment'> * 计算String的长度:String中的中文字符将计算为二个字符长度。 </span> </span></li>
<li class='alt'><span><span class='comment'> * @param param 参数类型是字符串,它是被计算的字符串对象。 </span> </span></li>
<li class=''><span><span class='comment'> */</span><span> </span></span></li>
<li class='alt'><span>String.getLength = </span><span class='keyword'>function</span><span>(param){ </span></li>
<li class=''><span> </span><span class='keyword'>var</span><span> temp = Type.conversion(param,</span><span class='string'>"string"</span><span>); </span></li>
<li class='alt'><span> </span><span class='keyword'>if</span><span>(Type.isString(temp)){ </span></li>
<li class=''><span> </span><span class='keyword'>var</span><span> b = temp.replace(/[^\x00-\xff]/g,</span><span class='string'>"**"</span><span>).length; </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> b; </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> 0; </span></li>
<li class=''><span>} </span></li>
</ol>
</div>
<p> 这个方法的目的是很明确的,在此强调类型,对我至少没有坏处。有些场合强调类型原因就是,要获得强调类型的好处。又比如多态就是:要对同一类型内的情况进行处理,对不是这个类型的或者它的子类,代码就不应该工作。那么当我们需要这种情况,为何不用多态呢?</p>
<p> 这个世界是多样的,代码中也如此。没必要有了黑的,就一定不能要白的啊。当我们需要什么时,如果就有什么——至少不是一件坏事啊。上面代码有个Type类的,Type中包含了错误处理机制。弱类型是有好处,但它也是有弱处的。在错误处理机制中,类型明确也是可以获得好处的。一个强壮的错误处理机制,对调试很有用。(有些调试器下载安装后,但仍然对某些代码无效。各位本人缺好的javascript调试器,哪位有好的,发到我邮箱中吧,先谢谢了)</p>
<p> 帖子里的编码模式,我用了有一段时间。加快了我的速度,同时代码质量,个人感觉更好了。如果js程序出现业务功能上的bug,在几千行javascript代码中可较快的定位准,并以较低的代价解决。楼上所说的:“却忘记了你这构造函数里创建的成员都有被搞成final的风险! 断了继承的后路。有些时候,构造函数是不能轻易调用的。 比如说,在构造函数里有重量级的初始化代码。”一下子理解不了。在实际的编码过程中,大的javascript类,八九百行代码也写过(ui方面编程)但没有遇上那些问题。望给些代码实例,这样可以有个直观的理解。<img src='/javascripts/fckeditor/editor/images/smiley/msn/teeth_smile.gif' alt=''/></p>
<p> </p>
7 楼
sp42
2007-03-10
有点迷惑了
相关推荐
JavaScript是Web开发中不可或缺的一部分,尤其在现代网页设计中,其使用越来越广泛。然而,不同浏览器对JavaScript的处理效率存在差异,尤其是对于IE浏览器来说,虽然IE8在性能上有显著提升,但仍落后于如Chrome这样...
JavaScript,简称JS,是一种广泛应用于Web开发的轻量级编程语言,主要负责处理网页的动态效果和用户交互。本教程“js全面基础与提速”旨在为学习者提供一个全面了解和掌握JavaScript的基础,并逐步深入到AJAX和...
自2006年发布以来,jQuery迅速成为最流行的前端开发框架之一。 #### 二、jQuery全面提速的意义与目的 在《jQuery全面提速》这本书中,作者赵增敏旨在帮助读者深入理解如何优化基于jQuery的应用程序,提高其性能...
在 ASP.NET MVC 开发中,提高应用程序的性能是一件非常重要的事情。以下是六种可以提高 ASP 应用程序速度的方法。 应用程序缓存 应用程序缓存是一种非常有效的提高应用程序速度的方法。通过将经常访问的数据缓存在...
- 学习使用jQuery等JavaScript库来简化DOM操作,提高开发效率。 - 图片元素使用`<img>`标签时,应设置`title`和`alt`属性;`<head>`标签中包含`title`、`keywords`和`description`等元信息。 - 开启GZIP压缩功能...
- 合并CSS与JavaScript文件:将多个样式表和脚本合并为一个文件,降低网络请求次数。但要注意,合并后公共文件的缓存问题。 - Base64编码图片:小图片可直接编码入HTML,减少请求,但可能导致文件体积增大,不适合...
《jQuery全面提速》源代码是针对JavaScript库jQuery的学习资源,旨在帮助开发者深入理解jQuery的内部工作原理,并通过优化技巧提升其在项目中的运行效率。jQuery以其简洁的API和强大的功能深受开发者喜爱,但随着Web...
前端工程师手册.pdf 本文档是前端工程师的必备手册,涵盖...本文档涵盖了前端开发的方方面面,涵盖了从基础知识到进阶知识、从 JavaScript 到 CSS、HTML 等多个方面的知识点,为前端工程师提供了一个系统的知识体系。
前端开发是互联网行业中至关重要的一环,涉及到用户与应用程序的交互体验。以下是一些常见的前端面试题目及其解答,旨在考察面试者的理论知识、实践经验以及解决问题的能力。 1. 响应式布局:响应式布局是确保网站...
在当今的前端开发领域,JavaScript作为全栈开发的核心语言之一,在浏览器、移动端以及服务器端均有着广泛的运用。掌握高性能的JavaScript编写技巧,对于前端程序员来说至关重要。本文将详细介绍在编写高性能...
在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例佐证,并提供了在线支持。《高性能网站建设指南》内容丰富,主要包括减少HTTP请求、Edge Computing技术、Expires Header技术、Gzip...
微信小程序点餐系统的设计和开发,是信息技术领域内移动互联网应用发展的一个分支,随着智能手机的普及和移动网络的提速,这一领域正迅速发展。微信小程序,作为一种新兴的轻量级应用程序,因其便捷性、无需下载安装...
百度作为中国的互联网公司,通过其云端一体开发平台,为开发者提供了云端切分机制。开发者可以根据任务的时延要求和计算量来决定任务的处理位置,将计算密集型的任务放在云端处理,而实时性要求高的任务则保留在本地...
在现代前端开发中,Vue.js 是一个流行的JavaScript框架,用于构建用户界面。VsCode(Visual Studio Code)是微软开发的一款轻量级且功能强大的代码编辑器,广泛用于各种开发环境中。本篇文章将详细介绍如何在VsCode...
面向数字娱乐市场的HTML网站源码,为开发提速。这份源码针对娱乐游戏音乐领域,提供即用型解决方案,减少从头开发的繁琐流程。精心设计的界面与用户交互元素,保证吸引目标用户群体。集成的音乐播放功能,提升用户...
3. Windows Mobile 6.5的发布和Gesture API:Windows Mobile 6.5发布了,带来了Gesture API和Widgets,Gesture API可以判断拖拽、缩放等功能,Widgets支持W3C标准,使用HTML和JavaScript开发。 4. 移动应用格局的...
FastClick是由FT Labs开发的一个轻量级JavaScript库,它的核心功能是检测并处理触摸结束事件,从而在用户单击后立即触发点击事件,避免了系统默认的300毫秒等待时间。这在移动Web应用中尤其重要,因为快速的交互反馈...
【描述】中的"后台目录:manage"表明在项目中存在一个名为"manage"的管理界面或目录,用于维护和更新数据库,可能是第6次中国铁路大提速后的列车时刻数据。这提示我们,该系统可能根据实际的铁路运行情况进行了及时的...
1. **多平台兼容**:除了MFC,TeeChart还支持.NET、Java、JavaScript等多种平台,便于跨平台开发。 2. **三维图表**:除了标准二维图表,还支持3D视图,使数据呈现更加立体直观。 3. **复杂图表组合**:可以将多种...