JS代码中,有时候会看到有美元符号$,该符号到底是什么,有什么用途或意义呢?
在js中它有很多作用, 一般我们用来命名一个函数名称,获取id的
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 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];
}
}