JS事件函式不能傳引數的解決辦法。

2021-07-16 05:07:16 字數 707 閱讀 5334

昨天遇到乙個問題,關於事件函式的傳參問題,現在我抽象出來**如下:

html:

000

0

現在我想用for迴圈給每個div加個單擊事件,單擊一下,彈出是第幾個div即for迴圈裡面的i的值,js**應該如下:

window.οnlοad=function(){

var div=document.getelementsbytagname('div');

for(var i=0;i以上**執行之後,發現單擊的時候,每乙個彈出的都是4。

這是為什麼呢?原因很簡單,在for語句進行迴圈的時候,並沒有把在迴圈時候的i的值賦給

alert(i);

而是在迴圈的過程中,沒有執行到內部,所以等到迴圈結束,i的值變成了4,最後單擊的時候彈窗都是4.那麼該怎麼解決這個問題呢? 

或許很容易想到乙個辦法——傳參!執行以下**!

window.οnlοad=function(){

var div=document.getelementsbytagname('div');

for(var i=0;i

window.οnlοad=function(){

var div=document.getelementsbytagname('div');

for(var i=0;i

js 函式引數傳值 傳引用

基本數值型別 傳值 引用型別 嚴格來說不能算傳引用,在js中叫按共享傳遞 call by sharing也叫按物件傳遞 按物件共享傳遞。該策略的重點是 呼叫函式傳參時,函式接受物件實參引用的副本 既不是按值傳遞的物件副本,也不是按引用傳遞的隱式引用 它和按引用傳遞的不同在於 在共享傳遞中對函式形參的...

Cesium資訊框不能執行js語句解決辦法

在做bim模型時需要新增按鈕,description 裝置名稱 v.name 裝置編號 v.code 檢視監控 提示錯誤blocked script execution in about blank because the document s frame is sandboxed and the ...

js基礎 函式傳參 陣列基礎

函式返回值 什麼是函式返回值 函式的執行結果 可以沒有return 乙個函式應該只返回一種型別的值 函式傳參 可變參 不定參 arguments 函式的個數可以變化,引數陣列 例子 求和 例子 css函式 判斷arguments.length 給引數取名,增強可讀性 取非行間樣式 不能用來設定 ob...