一般情況下,在js中函式可能沒有引數,也有特殊情況,舉個例子:
function togglecolor(evt)
else
if(thissquare.classname = "")
else
}
先簡單介紹一下這個函式的作用:在乙個包含了若干卡片**的.html檔案中,單擊任何乙個小卡片改變卡片的背景顏色,再次單擊該卡片,恢復卡片的顏色,顏色的設定由.css檔案實現,不再贅述。
有 evt 的情況,是為了獲得事件物件(evt 是傳入的事件物件)。你如果需要取得onclick事件的事件物件資訊,就可以從 evt 中取得,
比如:evt .srcelement.tagname
但是需要區分ie瀏覽器和所有其他的瀏覽器,如果乙個稱為evt的值被傳遞給這個函式,就說明使用者的瀏覽器不是ie瀏覽器,可以看到evt目標, var thissquare = evt.target;語句可以獲取事件物件的資訊。如果瀏覽器是ie瀏覽器,就需要檢視window物件的event屬性的srcelement屬性。無論採用哪種方式,都會得到thissquare物件,然後就可以檢查和修改該物件。
javaScript中函式的引數
函式不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別,原因是 ecmascript 中的引數在內部是用乙個陣列來表示的。函式接收到的始終都是這個陣列,而不關心陣列中包含哪些引數 如果有引數的話 在函式體內可以通過 arguments 物件來訪問這個引數陣列,從而獲取傳遞給函式的每乙個引數,...
Javascript函式引數傳遞
js中所有函式引數傳遞都是值傳遞 棧記憶體為自動分配的記憶體空間,它由系統自動釋放 堆記憶體則是動態分配的記憶體,大小不定也不會自動釋放。值型別 基本型別 字串 string 數字 number 布林 boolean 對空 null 未定義 undefined symbol es6新增 引用資料型別...
JavaScript中函式引數的值傳遞和引用傳遞
結論 對於數字 字串等是將它們的值傳遞給了函式引數,函式引數的改變不會影響函式外部的變數。對於陣列和物件等是將物件 陣列 的變數的值傳遞給了函式引數,這個變數儲存的指向物件 陣列 的位址。當函式改變這個位址指向的物件 陣列 的內容時,同時也改變了函式外部變數指向的物件 陣列 的內容 當函式改變的是變...