´óÒ»µãµÄ¿ò¼Ü¶¼ÓÐÕâ¸ö¶«Î÷¡£PrototypeÔÀ´µÄ¼Ì³Ð»úÖÆ·Ç³£Èõ£¬ÎªÁËÓëmootools¶Ô¿¹Ò²Ç¿»¯ÁËÕâÒ»·½Ãæ¡£ÂҪÓÃÔÐͼ̳ÐÀ´Ä£·ÂÀà¼Ì³Ð£¬¶¼»ù±¾´æÔÚÒ»¸ö¿Ë¡º¯Êý¡£°Ñ¸¸ÀàµÄÔÐÍÊôÐÔ¸´ÖƵ½×ÓÀàÉÏÈ¥¡£ÀíÄîµÄ¶«Î÷ÔÝʱÕâô¶à£¬¶¯ÊÖʵ¼ùÒ»ÏÂ×îʵ¼Ê¡£ÎÒÃÇÉè¼ÆÒ»¸öÊý×éÀ࣬ӵÓÐÔÉúÊý×éµÄÄÜÁ¦ÓëÐÂÀ©Õ¹µÄÄÜÁ¦¡£
var isNumber = function(n){
return typeof n === 'number' && isFinite(n);
}
var vArray = function(){
if(arguments.length == 0){
return [];
}else if(arguments.length == 1 && isNumber(arguments[0])){
return new Array(arguments[0]);
}else if(arguments.length > 1){
return Array.prototype.slice.apply(arguments);
}
}
var a = vArray();
alert(a);
var b = vArray(7);
alert(b);
var c = vArray(1,3,"˾ͽÕýÃÀ",true);
alert(c);
ÔËÐдúÂë
ºÜÏÔÈ»ÕâÊǹ¤³§·½·¨£¬Éú³ÉµÄÔÉúÊý×飬Èç¹ûÒªÀ©Õ¹¶ø²»ÎÛȾÔÉúÊý×é¾ÍÓÖÒªÔÙ¼ÓÒ»ÖØ°ü×°¡£ÎÒÃÇ¿´¼Ì³ÐÊÇÔõÑùʵÏֵġ£Õ ......
ÎÒÃÇÀ´Ä£·ÂÒ»ÏÂ×îOOµÄmootoolsµÄ¼Ì³Ð»úÖÆ¡£ËüµÄÀà¶¼ÓÐÒ»¸ö½Ð×öinitialize¹¹Ôì·½·¨£¬ÕâÓëJavaµÄÀà¶¼ÓÐÒ»¸öÓëÀàÃûͬÃûµÄ¹¹Ôì·½·¨Ò»ÑùµÄµÀÀí¡£Ö»²»¹ý£¬ÕâЩ½Ðinitialize»òinit¶¼ÊÇ½è¼ø×ÔPrototype£¬¶øPrototypeÄǰïÈËÊÇRuby³öÉí¡£ÎªÁËÇø±ðmootoolsÄÇÖÖÎÛȾÔÉú·½·¨µÄ×ö·¨£¬ÎÒ°ÑÀàµÄ¹¹ÔìÆ÷ÃüÃûΪvariant£¬²¢ÇÒ½ûÖ¹²é¿´¹¹Ôì·½·¨£¨Ïñä¯ÀÀÆ÷½ûÖ¹²é¿´ÔÉú¶ÔÏóµÄ¹¹Ôì·½·¨ÄÇÑù£©¡£
var variant = function (options){
options = options || {};
var initialize = options.initialize || function(){};
var klass = initialize ;
klass.constructor = arguments.callee;
klass.prototype.constructor = klass;
klass.toString = function(){//½ûÖ¹²é¿´¹¹Ôì·½·¨
return "function variant(){\n [variant code]\n}"
}
& ......
ÔÚrubyÖÐÎÒÃÇ¿ÉÒÔͨ¹ý"*"²Ù×÷·ûÈ¥×Ö·û´®½øÐб¶Ôö£¬Èç"ruby"*2Ôò·µ»Ø"rubyruby"¡£ÔÚjavascriptÖУ¬×Ö·û´®Ö»ÄÜÓüӺţ¬Â³Ë·¨Ò²¼Ó·¨Ñݱä¹ýÀ´µÄ¡£ÎÒÃÇ¿ÉÒÔ¸ãÒ»¸öÊÔÊÔ¡£
·½·¨Ò»
String.prototype.times = function(n) {//IE6 530-640 FF3 400~550 IE8 840 ~1110 chrome 600~1000
return (new Array(n+1)).join(this);
};
<!doctype html>
<html dir="ltr" lang="zh-CN">
<head>
<meta charset="utf-8"/>
<title>×Ö·û´®µÄ³Ë·¨</title>
<script type="text/javascript" charset="utf-8">
window.onload = function(){
String.prototype.times = function(n) {
return (new Array(n+1)).join(this);
};
var s = "˾ͽÕýÃÀ"
var start = new Date();
a = s.times(1000000);
var end = new Date();
alert("ËùºÄʱ¼ä ......
±¾Ê¾ÀýÊÇҪʵÏÖÓÃjavascript½Å±¾¶ÁÈ¡xmlÎĵµ£¬ÔÚxmlÎĵµÖÐʵÏÖÔ¼Êø¹¦ÄÜ£¬test.htmlÎļþ´úÂëÈçÏ£º
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); //´´½¨xmlÎĵµ¶ÔÏó£»
xmlDoc.validateOnParse="true"; //¿ªÆôУÑ鹦ÄÜ£»
xmlDoc.async="false";   ......
1. oncontextmenu="window.event.returnValue=false" ½«³¹µ×ÆÁ±ÎÊó±êÓÒ¼ü
<table border oncontextmenu=return(false)> <td>no </table> ¿ÉÓÃÓÚTable
2. <body onselectstart="return false"> È¡Ïûѡȡ¡¢·ÀÖ¹¸´ÖÆ
3. onpaste="return false" ²»×¼Õ³Ìù
4. oncopy="return false;" oncut="return false;" ·ÀÖ¹¸´ÖÆ
5. <link rel="Shortcut Icon" href="favicon.ico"> IEµØÖ·À¸Ç°»»³É×Ô¼ºµÄͼ±ê
6. <link rel="Bookmark" href="favicon.ico"> ¿ÉÒÔÔÚÊղؼÐÖÐÏÔʾ³öÄãµÄͼ±ê
7. <input style="ime-mode:disabled"> ¹Ø±ÕÊäÈë·¨
8. ÓÀÔ¶¶¼»á´ø×Å¿ò¼Ü
<script language="JavaScript"> <!--
if (window == top)top.location.href = "frames.htm"; //frames.htmΪ¿ò¼ÜÍøÒ³
// --> </script>
9. ·ÀÖ¹±»ÈËframe
<SCRIPT LANGUAGE=JAVASCRIPT> <!--
if (top.location != self.location)top.location=self.location;
// --> </SCRIPT>
10. ÍøÒ³½«²»Äܱ»Áí´æÎª
<noscript> <*** src="/*.html>"; </***> </noscript>
11. <input type= ......
<HTML>
<HEAD><TITLE>WMI Scripting HTML</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
document.forms[0].txtMACAddr.value = unescape(MACAddr);
document.forms[0].txtIPAddr.value = unescape(IPAddr);
document.forms[0].txtDNSName.value = unescape(sDNSName);
//document.formbar.submit();
</SCRIPT>
<SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
if (objObject. ......