[·Òë]PPK ̸ JavaScript µÄ this ¹Ø¼ü×Ö
ÔÎÄ£ºJavaScript - The this keyword
ÔÚ JavaScript ÖÐ this ÊÇ×îÇ¿µÄ¹Ø¼ü×ÖÖ®Ò»¡£ÕâÆªÌùÎľÍÊÇÒª¸æËßÄãÈçºÎÓúà this¡£
ÏÂÃæÏȽ²ÈçºÎÔÚevent handling
(ʼþ´¦Àí)ÖÐÓÃËü£¬ÔÙ½Ó×ÅÊǽ² this µÄÆäËûÓ÷¨¡£
ËùÓÐÕß(Owner)
ÏÈÀ´¿´¿´º¯Êý doSomething() ÀïµÄ this ¾¿¾¹Ö¸Ïò(refer to)ÁËʲô£¿
function doSomething() {
this.style.color = '#cc0000';
}
JavaScriptµÄ this ×ÜÊÇÖ¸ÏòÕýÖ´Ðеĺ¯ÊýµÄËùÓÐÕß¡£»òÕßÊÇ˵£¬ËüÊÇÖ¸Ïòº¯ÊýÕâ¸ö¶ÔÏóµÄÒ»ÖÖÊÖ·¨¡£
ÔÚÒ³ÃæÖж¨ÒåÁË
doSomething() º¯Êýʱ£¬ËüµÄËùÓÐÕßÊÇÒ³Ãæ¡£È·ÇеÄ˵ÊÇÖ¸ JavaScript µÄ window ¶ÔÏó(È«¾Ö¶ÔÏó)¡£
¶ø
onclick ÊôÐÔ¹éÊô HTML ÔªËØËùÓС£
ÕâÖÖ¹éÊôËËùÓеÄȨÀûÊÇ JavaScript µÄ OO(ÃæÏò¶ÔÏó)ÌØÐԵĽá¹û¡£ÔÚ °Ñ¶ÔÏó×÷¹ØÁªÊý×é
Ò³ÃæÖÐÓиü¶àÐÅÏ¢¡£
------------ window --------------------------------------
| / \ |
| | |
| this |
| ---------------- | |
| | HTML ÔªËØ | <-- this ----------------- |
| ---------------- | | doSomething() | |
| | | ----------------- |
| -------------------- |
| | onclick ÊôÐÔ | |
| -------------------- |
| |
----------------------------------------------------------
ÕâÀïÔÚ doSomething() Ö´ÐÐʱ£¬¹Ø¼ü×Ö this Ö¸Ïò window(´°¿Ú) £¬¸Ãº¯Êý½«»á¸Ä¶¯ window µÄ style.color¡£
¶ø window ûÓÐ style Õâ¸ö¶ÔÏó£¬ËùÒԸú¯Êý»áÒý·¢ JavaScript µÄ´íÎó¡£
¿½±´(copying)
Òò´Ë£¬ÏëÒªÓúà this ¾ÍÇë¼ÌÐøÍùÏ¿´¡£ÏñÇ°ÃæµÄÀý×ÓÔÚº¯ÊýÖÐʹÓõÄÕâÖÖÇé¿ö£¬this Ö¸ÏòËü¹éÊôËËùÓеÄÄǸö HTML ÔªËØ¡£
Ò²¾ÍÊÇ˵£¬Óиöº¯Êý¿½±´Ö¸Ïò onclick ÊôÐÔ¡£ ÎÒÃÇÀ´¿´¿´ÔÚ´«Í³Ê¼þ×¢²á
ÖеÄÇé¿ö¡£
element.onclick = doSomething;
º¯ÊýÊÇËüÕû¸öµÄ¿½±´£¬Ö¸Ïò onclick ÊôÐÔ(ÏÖÔÚ±ä³ÉÁË·½·¨)¡£Òò´Ë£¬Ê¼þ´¦Àí±»Ö´ÐÐʱ£¬this Ö¸Ïò HTML ÔªËØ²¢½«¸Ä¶¯ color¡£
----------
Ïà¹ØÎĵµ£º
ÒÔÏÂÒÔ IE ´úÌæ Internet Explorer£¬ÒÔ MF ´úÌæ Mozzila Firefox
1. document.form.item ÎÊÌâ
(1)ÏÖÓÐÎÊÌ⣺
ÏÖÓдúÂëÖдæÔÚÐí¶à document.formName.item("itemName") ÕâÑùµÄÓï¾ä£¬²»ÄÜÔÚ MF ÏÂÔËÐÐ
(2)½â¾ö·½·¨£º
&nb ......
1¡¢function vv()
{
if(event.button==2)
{
alert('·ÀÖ¹·þÎñÆ÷¸ºµ£¹ý´ó£¬ÓÒ¼ü¹¦Äܱ»ÆÁ±Î£¡')
......
JavaScriptµ÷ÓÃdataTable²¢»ñÈ¡ÆäÖµ(ASP.Net,VS2005)
±¾¹¦ÄÜÖ÷ÒªÓõ½http://www.cnblogs.com/Hdsome/archive/2008/06/26/1230177.htmlÕâ¸öÐֵܵĴúÂ룬ÎÒÖ÷ÒªÊÇ×öÕûÀíºÍÀ©Õ¹¡£
Ê×ÏÈÔÚhttp://www.codeplex.com/AjaxPro/Release/ProjectReleases.aspx?ReleaseId=713ÍøÖ ......
ÔÚjavascriptÖÐÓ÷¨¾ÙÀý
var rule = /^\d+$/;
if(!rule.test(addform.rmb_price.value)) {
alert('rmb_price must be number');
addform.rmb_price.focus();
return false;
}
ÔÚphpÖÐÓ÷¨¾ÙÀý
$aa = "/^\d+$/";
if(preg_match($aa, "111")) {
echo "found";
}
ÔÚjavaÖÐÓ÷¨¾ÙÀý ......