天天看點

詳解js程式中的美元符号$的作用

1、首先可以用來表示變量,

比如變量 var s='asdsd'或var $s='asdasd';

2、在正規表達式中,它可以比對結尾

/sa$/.test(string)

比對string字元串中的sa,比如string='125sa'則比對,string='125sa21'則不比對

正規表達式很複雜,這裡隻是簡單的說說。

3、由于受prototype.js(老外寫的架構,用于将一些常用的函數封裝,友善操作)的影響,

現在很多人都用 $來表示一個查找對象的函數,

$=function (id) { return (typeof (id)=='object')?id:document.getElementById(id); };

其實就是一個自定義函數,用$隻是簡單,其實用其它字元也是一樣的,

f=function (id) { return (typeof (id)=='object')?id:document.getElementById(id); };也可以

其中參數id是html文檔中的id,

比如<div id='ss'></div>

則obj=$('ss')就是引用的這個id='ss'的對象

使用$()方法

$() 方法是在DOM中使用過于頻繁的 document.getElementById() 方法的一個便利的簡寫,就像這個DOM方法一樣,這個方法傳回參數傳入的id的那個元素。

比起DOM中的方法,這個更勝一籌。你可以傳入多個id作為參數然後 $() 傳回一個帶有所有要求的元素的一個 Array 對象。

<HTML>

<HEAD>

<TITLE> Test Page </TITLE>

<script src="prototype-1.3.1.js"></script>

<script>

function test1()

{

var d = $('myDiv');

alert(d.innerHTML);

}

function test2()

{

var divs = $('myDiv','myOtherDiv');

for(i=0; i<divs.length; i++)

{

alert(divs[i].innerHTML);

}

}

</script>

</HEAD>

<BODY>

<div id="myDiv">

<p>This is a paragraph</p>

</div>

<div id="myOtherDiv">

<p>This is another paragraph</p>

</div>

<input type="button" value=Test1 οnclick="test1();"><br>

<input type="button" value=Test2 οnclick="test2();"><br>

</BODY>

</HTML>

下面的這個getObject方法和$符号是一樣的意思:

function getObject(elementId)

{

if (document.getElementById)

{

return document.getElementById(elementId);

}else if(document.all)

{

return document.all[elementId];

}else if(document.layers)

{

return document.layers[elementId];

}

}

繼續閱讀