2012-09-05 71 views
0

我有一個具有參數本身的功能,它是工作的罰款返回在JavaScript

的JavaScript //

<script type="text/javascript"> 
function $(id){ 
    document.getElementById(id).style.color="#ff0000" 
} 
</script> 

HTML //

<a href="#" onclick="$('me')">click me</a> 
<div id="me">color</div> 

現在我改變這個功能有點這是行不通的 javascript //

<script type="text/javascript"> 
function $(id){ 

    document.getElementById(id) 
} 

function aaa(){ 

    $('me').style.color="#ff0000" 

} 
</script> 

HTML //

<a href="#" onclick="aaa()">click me</a> 
<div id="me">color</div> 

爲什麼這個功能沒有return語句

<script type="text/javascript"> 
function $(id){ 

    alert(id) 
} 

function aaa(){ 

    $('me') 

} 
</script> 
+0

你的函數第二次沒有返回任何東西;使用return語句。 – Vishal

+0

但是,爲什麼我的更新問題沒有返回聲明 – Carlos

+0

因爲在更新的問題中,實際事件發生在函數體內部,您沒有使用任何回報以供進一步使用! – Vishal

回答

1

您的function $(id)不返回任何內容。它應該返回您正在查找的元素:

<script type="text/javascript"> 

function $(id){ 
    return document.getElementById(id); 
} 

function aaa(){  
    $('me').style.color="#ff0000"; 
} 
</script> 

PS。您應該不要命名您的功能$

+0

但爲什麼這個功能會起作用。 <腳本類型= 「文本/ JavaScript的」> 功能$(ID){ 警報(ID) } 功能AAA(){ $( '我') } – Carlos

+0

@amit因爲第一功能不返回任何東西,第二個函數不會對第一個函數的結果做任何事情。但在你的情況下,你試圖訪問從第一個函數返回的對象。但是,如果它不返回任何你只是「未定義」。 – Strelok

1
function $(id) { 
    return document.getElementById(id) 
} 
1

你沒有在$函數返回任何東西,對於aaa讓你不得不元素工作退貨

function $(id){ 
    return document.getElementById(id); 
}