��ҳ > ��ѡ���� > ��ҳ��Ч���� > ����

�Ż�JavaScript�ű�������

���������ķ�չ�����ٺͻ����ٶȵ����ߣ�Խ��Խ������վ�õ��˷ḻ�ͻ��˼�����������Ajax������Ϊ���е�һ�ַ�ʽ��javascript��һ�ֽ��������ԣ��������޷��ﵽ��C/Java֮����ˮƽ�������������ڿͻ������������飬Ϊ���ܸĽ��������ܣ�������������ǰ��javascript�����ĺܶ�������̸̸�Լ��ľ��飬ϣ���ܰ������ҸĽ��Լ���javascript�ű����ܡ�  
 
�������Բ��η���  
 
����ѭ��  
 
����ѭ���Ǻܳ��õ�һ�����ƽṹ���󲿷ֶ���Ҫ�����������ɣ���javascript�У����ǿ���ʹ��for(;;),while(),for(in)����ѭ������ʵ�ϣ�������ѭ����for(in)��Ч�ʼ����Ϊ����Ҫ��ѯɢ�м���ֻҪ���Ծ�Ӧ�þ������á�for(;;)��whileѭ��������Ӧ��˵����(ƽʱʹ��ʱ)�ȼۡ�  
 
��������ʵ�ϣ�����ʹ��������ѭ�������кܴ󽲾������ڲ�������Щ������˼������������¼�������ó��Ľ����ǣ�  
 
����������ѭ�������������ݼ�����Ҫ������ѭ��������ֵ��Ӧ����������һ�ζ�ȡ��ʱ��ʹ��Ƕ�׵�++�򡪲�������  
 
��������Ҫ�������ij������Ƚϣ�Ӧ�����Ȱ�������length���Է���һ���ֲ������У����ٲ�ѯ������  
 
�����ֲ�������ȫ�ֱ���  
 
�����ֲ��������ٶ�Ҫ��ȫ�ֱ����ķ����ٶȸ��죬��Ϊȫ�ֱ�����ʵ��ȫ�ֶ����ij�Ա�����ֲ������Ƿ��ں�����ջ���еġ�  
 
������ʹ��Eval  
 
����ʹ��eval�൱��������ʱ�ٴε��ý������������ݽ������У���Ҫ���Ĵ���ʱ�䡣��ʱ��ʹ��javascript��֧�ֵıհ�����ʵ�ֺ���ģ��(���ڱհ����������ο�����ʽ���̵��й�����)  
 
�������ٶ�������  
 
������Ϊjavascript�Ľ����ԣ�����a.b.c.d.e����Ҫ��������4�β�ѯ�������ȼ���a�ټ���a�е�b���ټ���b�е�c���������¡��������������ı���ʽ�ظ����֣�ֻҪ���ܣ�Ӧ�þ����ٳ��������ı���ʽ���������þֲ���������������һ����ʱ�ĵط����в�ѯ��  
 
������һ�����Ժ�ѭ��������������Ϊ���dz���Ҫ�����ַ����������ij��Ƚ���ѭ������ͨ�����������Dz����ģ�����ÿ�β�ѯa.length����Ҫ��������һ����������Ԥ�Ȱ�var len=a.length����������һ�β�ѯ��  
 
�����ַ�������  
 
����������׷���ַ���������ʹ��s+=anotherStr������������Ҫʹ��s=s+anotherStr��  
 
��������Ҫ���Ӷ����ַ�����Ӧ����ʹ��+=����  
 
����s+=a;s+=b;s+=c;  
 
����Ӧ��д��  
 
����s+=a + b + c;  
 
�������������ռ��ַ������������ζ�ͬһ���ַ�������+=�����Ļ�������ʹ��һ�����档��ô����?ʹ��javascript�������ռ�������ʹ��join������������������  
 
����������Ƭ�Σ�  
����var buf = new Array();for(var i = 0; i < 100; i++){ buf.push(i.toString());}var all = buf.join("");   
 
 
��������ת��  
 
��������ת���Ǵ��ҳ����Ĵ�������Ϊjavascript�Ƕ�̬�������ԣ��㲻��ָ�����������͡�  
 
����1. ������ת�����ַ�����Ӧ��"" + 1����Ȼ�������Ƚϳ�һ�㣬����ʵ������Ч�������ߵģ���������˵��  
 
����������Ƭ�Σ�  
����("" +) > String() > .toString() > new String()   
 
 
����������ʵ�������ġ�ֱ�������е����ƣ�����ʹ�ñ���ʱ����ʹ�õ��ڲ�����Ҫ������ʱʹ�õ��û�����Ҫ�졣  
 
����String()�����ڲ������������ٶȺܿ죬��.toString()Ҫ��ѯԭ���еĺ����������ٶ�ѷɫһЩ��new String()���ڷ���һ����ȷ�ĸ�����  
 
����2. ������ת�������ͣ����������׳������ܶ���ϲ��ʹ��parseInt()����ʵparseInt()�����ڽ��ַ���ת�������֣������Ǹ�����������֮����ת��������Ӧ��ʹ��Math.floor()����Math.round()��  
 
�������⣬�͵ڶ��ڵĶ��������е����ⲻһ����Math���ڲ�����������Math.floor()��ʵ��û�ж��ٲ�ѯ�����͵��õ�ʱ�䣬�ٶ��������ġ�  
 
����3. �����Զ����Ķ���������������toString()��������������ת���Ļ����Ƽ���ʽ����toString()����Ϊ�ڲ��IJ����ڳ������п�����֮�󣬻᳢�Զ�����toString()���������ܷ�ת��ΪString������ֱ�ӵ�����������Ч�ʻ����ߡ�  
 
[NextPage]  
 
����ʹ��ֱ����  
 
������ʵ����Ӱ�쵹�Ƚ�С�����Ժ��ԡ�ʲô��ʹ��ֱ���������磬javascript֧��ʹ��[param,param,param,...]��ֱ�ӱ���һ�����飬�������Ƕ�ʹ��new Array(param,param,...)��ʹ��ǰ��������ֱ�ӽ��͵ģ�����Ҫ����һ��Array�ڲ�������������Ҫ��΢��һ���㡣  
 
����ͬ����var foo = {}�ķ�ʽҲ��var foo = new Object();�죬var reg = /../;Ҫ��var reg=new RegExp()�졣  
 
�����ַ�����������  
 
�������ַ�������ѭ��������Ʃ���滻�����ң�Ӧʹ����������ʽ����Ϊ����javascript��ѭ���ٶȾͱȽ���������������ʽ�IJ�������Cд�ɵ����Ե�API�����ܺܺá�  
 
�����߼�����  
 
�����Զ����߼�������Date��RegExp�����ڹ���ʱ�������Ĵ���ʱ�䡣�������Ը��ã�Ӧ���û����ķ�ʽ��  
 
����DOM����  
 
��������HTML  
 
�����ܶ���ϲ����javascript��ʹ��document.write����ҳ���������ݡ���ʵ��������Ч�ʽϵͣ�������Ҫֱ�Ӳ���HTML��������һ������Ԫ�أ�����ָ��һ��div����span�����������ǵ�innerHTML�����Լ���HTML�������뵽ҳ���С�  
 
����������ѯ  
 
����ʹ��[����]��ѯҪ��.items()���죬����ǰ���ļ��ٶ������ҵ�˼·��һ���ģ�����.items()������һ�β�ѯ�ͺ����ĵ��á�  
 
��������DOM�ڵ�  
 
����ͨ�����ǿ��ܻ�ʹ���ַ���ֱ��дHTML�������ڵ㣬��ʵ������  
 
�����޷���֤��������Ч��  
 
�����ַ�������Ч�ʵ�  
 
��������Ӧ������document.createElement()�������������ĵ��д����ֳɵ������ڵ㣬Ӧ������cloneNode()��������Ϊʹ��createElement()����֮��������Ҫ���ö���Ԫ�ص����ԣ�ʹ��cloneNode()�����Լ������Ե����ô�������ͬ��������Ҫ�����ܶ�Ԫ�أ�Ӧ����׼��һ�������ڵ㡣  
 
������ʱ��  
 
�����������Ե��Dz������еĴ��룬��Ӧ��ʹ��setTimeout����Ӧ������setInterval��setTimeoutÿ��Ҫ��������һ����ʱ����  
 
��������  
 
�����ű�����  
 
�������Ҳ���Microsoft��JScript��Ч�ʽ�Mozilla��SpidermonkeyҪ���ܶ࣬������ִ���ٶȻ����ڴ������ϣ���ΪJScript���ڻ���Ҳ�������ˡ���SpiderMonkey����ʹ��ActiveXObject  
 
�����ļ��Ż�  
 
�����ļ��Ż�Ҳ��һ������Ч���ֶΣ�ɾ�����еĿո���ע�ͣ��Ѵ�������һ���ڣ����Լӿ����ص��ٶȣ�ע�⣬�����ص��ٶȶ����ǽ������ٶȣ������DZ��أ�ע�ͺͿո񲢲���Ӱ�����ͺ�ִ���ٶȡ�  
 
�����ܽ�  
 
���������ܽ�������javascript���������ҵ�������javascript�������ܵ�һЩ��������ʵ��Щ���鶼���ڼ���ԭ����  
 
����ֱ������ͷ�ֳɵĶ����ȽϿ죬���ֲ�������ȫ�ֱ����죬ֱ����������ʱ�����������ȵȡ�  
 
�����������ٵؼ���ִ�д����������Ȼ�����Ҫ���β�ѯ�ġ�  
 
����������ʹ���������õĹ��ܣ����紮���ӡ�  
 
����������ʹ��ϵͳ�ṩ��API����Ϊ��ЩAPI�DZ����õĶ����ƴ��룬ִ��Ч�ʺܸ�  
 
����ͬʱ��һЩ�������㷨�ϵ��Ż���ͬ����������javascript�У����������ṹ�ĵ����������Ͳ���׸���ˡ���������javascript�ǽ����͵ģ�һ�㲻��������ʱ���ֽ��������Ż���������Щ�Ż���Ȼ�Ǻ���Ҫ�ġ�  
 
������Ȼ����ʵ������һЩ����ͬ��ʹ����������һЩ�����������У�����Ҳ���Խ��вο���  
 
[NextPage]   
    
 
�����ο�  
 
����http://www.umsu.de/jsperf/ �����������IJ��ԶԱ�  
 
����http://home.earthlink.net/~kendrasg/info/js_opt/  
 
������¼1 
 
������������ǰ�����IJ��ԣ����Դ����Ѿ���ȫ���Ҳ�����һ�������£�  
 
����������Ƭ�Σ�  
����var print;if(typeof document != "undefined" ){ print = function(){ document.write(arguments[0]); }}else if(typeof WScript != "undefined" ){ print = function(){ WScript.Echo(arguments[0],arguments[1],arguments[2]); }}function empty(){}function benchmark(f){ var i = 0; var start = (new Date()).getTime(); while(i < pressure){ f(i++); } var end = (new Date()).getTime(); WScript.Echo(end-start);}/*i=0start = (new Date()).getTime();while(i < 60000){ c = [i,i,i,i,i,i,i,i,i,i]; i++;}end = (new Date()).getTime();WScript.Echo(end-start);i=0start = (new Date()).getTime();while(i < 60000){ c = new Array(i,i,i,i,i,i,i,i,i,i); i++;}var end = (new Date()).getTime();WScript.Echo(end-start);*/function internCast(i){ return "" + i;}function StringCast(i){ return String(i)}function newStringCast(i){ return new String(i)}function toStringCast(i){ return i.toString();}function ParseInt(){ return parseInt(j);}function MathFloor(){ return Math.floor(j);}function Floor(){ return floor(j);}var pressure = 50000;var a = "";var floor = Math.floor;j = 123.123;print("------------- String Conversion Test");print("The empty:", benchmark(empty));print("intern:", benchmark(internCast));print("String:");benchmark(StringCast);print("new String:");benchmark(newStringCast);print("toString:");benchmark(toStringCast);print("------------- Float to Int Conversion Test");print("parseInt");benchmark(ParseInt);print("Math.floor");benchmark(MathFloor);print("floor")benchmark(Floor);function newObject(){ return new Object();}function internObject(){ return {};}print("------------ literal Test");print("runtime new object", benchmark(newObject));print("literal object", benchmark(internObject));   
 
 
������¼2 
 
��������1��  
 
����������Ƭ�Σ�  
����for(var i=0;i<100;i++){ arr[i]=0; }   
 
 
��������2��  
 
����������Ƭ�Σ�  
����var i = 0; while(i < 100){ arr[i++]=0; }   
 
 
��������3��  
 
����������Ƭ�Σ�  
����var i = 0; while(i < 100){ arr[i]=0; i++; }   
 
 
������firefox�²��������δ��룬�����Ǵ���2���ڴ���1��3��������1һ�����ڴ���3����ʱ�ᱻ����3����;����IE 6.0�£�����ѹ���ϴ���ʱ��(������10000������)����2��3����ʱ�����ڴ���1����ʱ���ͻ�ԶԶ��������1�����ڲ���ѹ����С(��5000��)��������2>����3>����1��  
 
��������4��  
 
����������Ƭ�Σ�  
����var i = 0; var a; while(i < 100){ a = 0; i++; }   
 
 
��������5��  
 
����������Ƭ�Σ�  
����var a; for(var i=0;i<100;i++){ a = 0; }   
 
 
�����������δ�����Firefox��IE�²��Խ����������ܽӽ��ġ�  
 
��������6��  
 
����������Ƭ�Σ�  
����var a; var i=0; while(i<100){ a=i; i++; }   
 
 
��������7��  
 
����������Ƭ�Σ�  
����var a; var i=0; while(i<100){ a=i++; }   
 
 
��������8��  
 
����������Ƭ�Σ�  
����var a; for(var i=0;i<100;i++){ a = i; }   
 
 
��������9��  
 
����������Ƭ�Σ�  
����var a; for(var i=0;i<100;){ a = i++; }   
 
 
�������Ķδ�����Firefox��6��8�����ܽӽ���7��9�����ܽӽ�����6, 8 < 7, 9;  
 
����������������һ�¿�ѭ��  
 
��������10��  
 
����������Ƭ�Σ�  
����for(var i=0;i<100;i++){ }   
 
 
��������11��  
 
����������Ƭ�Σ�  
����var i; while(i<100){ i++; }   
 
 
���������IJ��Գ����������Ľ�����Firefox�´���10������ʱ��������11�����Ĵ�Լ��24:1�����������߱��ο���ֵ��������û�з���һ��ʼ�����ҿ��� 

  • ��һƪ��CNET�й��չ�55bbs.com
  • ��һƪ���ٶ������ƹ㹦�ܵ��� ���������ɹر�
  • �˽���Щ�֣��ŵ���˼ ������˼ �ŵ���˼ ������˼ �ĵ���˼ �Ե���˼ �ܵ���˼