Js當(dāng)中的那些$的用法




$符號在php中是表示變量的特征字符, 在js中它也有很多作用, 一般我們用來命名一個函數(shù)名稱,獲取id的
1、首先可以用來表示變量,
比如變量 var s='asdsd'或var $s='asdasd';
2、在正則表達(dá)式中,它可以匹配結(jié)尾
/sa$/.test(string)
匹配string字符串中的sa,比如string='125sa'則匹配,string='125sa21'則不匹配
正則表達(dá)式很復(fù)雜,這里只是簡單的說說。
3、由于受prototype.js(老外寫的框架,用于將一些常用的函數(shù)封裝,方便操作)的影響,現(xiàn)在很多人都用 $來表示一個查找對象的函數(shù),
$=function (id) { return (typeof (id)=='object')?id:document.getElementById(id); };
其實就是一個自定義函數(shù),用$只是簡單,其實用其它字符也是一樣的,
f=function (id) { return (typeof (id)=='object')?id:document.getElementById(id); };也可以
其中參數(shù)id是html文檔中的id,比如<div id='ss'></div>
則obj=$('ss')就是引用的這個id='ss'的對象
使用$()方法
$() 方法是在DOM中使用過于頻繁的 document.getElementById() 方法的一個便利的簡寫,就像這個DOM方法一樣,這個方法返回參數(shù)傳入的id的那個元素。
比起DOM中的方法,這個更勝一籌。你可以傳入多個id作為參數(shù)然后 $() 返回一個帶有所有要求的元素的一個 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 onclick="test1();"><br>
<input type="button" value=Test2 onclick="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];
}
}
BOM由一系列相關(guān)的對象構(gòu)成,主要有以下六個:
1、window對象,前面也說過,它是JavaScript的最頂層對象,其它的BOM對象都是windows對象的屬性;
2、document對象表示瀏覽器中加載頁面的文檔對象;
3、location對象包含了瀏覽器當(dāng)前的URL信息;
4、navigator對象包含了瀏覽器本身的信息;
5、screen對象包含了客戶端屏幕及渲染能力的信息;
6、history對象包含了瀏覽器訪問網(wǎng)頁的歷史信息。