真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript中l(wèi)et避免閉包造成問題怎么解決

這篇文章主要介紹了JavaScript中l(wèi)et避免閉包造成問題怎么解決的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JavaScript中l(wèi)et避免閉包造成問題怎么解決文章都會有所收獲,下面我們一起來看看吧。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計,茂名網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:茂名等地區(qū)。茂名做網(wǎng)站價格咨詢:13518219792

關(guān)于 let 避免閉包帶來的問題

利用面向?qū)ο笏枷胪瓿少I家信息刪除功能,每一條信息包含:

姓名
電話
電話號碼
省份

實現(xiàn)以下要求:
不能借用任何第三方庫,需要使用原生代碼實現(xiàn)。
結(jié)合給出的基本代碼結(jié)構(gòu),在下方2處code here補(bǔ)充代碼,完成買家信息的刪除功能,注意此頁面要在手機(jī)上清晰顯示。

js代碼可以任意調(diào)整,例如和使用es6代碼完成。




    
    
    demo
    




    
        序號
        姓名
        性別
        電話號碼         省份         操作                   
  •             1             張三             男             13788888888             浙江             刪除         
  •         
  •             2             李四             女             13788887777             四川             刪除         
  •         
  •             3             王二             男             13788889999             廣東             刪除         
  •     

    code1

    code2 ( 別人的代碼 )

     Contact.prototype.init = function () {
            console.log("Test");
            var div = document.getElementsByClassName("user-delete");
            var ul = document.querySelector("#J_List");
            var list = ul.querySelectorAll("li");
    
            for (var i = 0; i < div.length; i++) {
                (function (i) {
                    div[i].onclick = function () {
                        list[i].remove();
                        console.log(i);
                    }
                })(i);
            }
        }
    
        new Contact();

    其中

     (function (i) {
                    div[i].onclick = function () {
                        list[i].remove();
                        console.log(i);
                    }
                })(i);

    這段立即執(zhí)行函數(shù)沒看懂意義

    我的代碼

     Contact.prototype.init = function () {
            let div = document.getElementsByClassName("user-delete");
            let ul = document.querySelector("#J_List");
            let list = ul.querySelectorAll("li");
    
            for (let i in div) {
                div[i].onclick = function () {
                    list[i].remove();
                    console.log(i);
                }
            }
        }
    
        new Contact();

    后來想起來是為了避免閉包帶來的問題,這一段廖雪峰老師講過,但是一時沒有想起來,詳見 廖雪峰閉包
    但是我的代碼運(yùn)行起來也是沒有任何問題的,因為當(dāng)時沒有塊級作用域的說法,但是現(xiàn)在可以用 let 來避免這個問題。所以如果 i 是用 let 來聲明的話就可以不用立即執(zhí)行函數(shù)。并且寫代碼應(yīng)當(dāng)避免用 var,改用 let。還有一個,避免使用 for(let i =0;condition;++i) 這種語句,盡量使用 for...in... 一些好的習(xí)慣要養(yǎng)成。

    關(guān)于“JavaScript中l(wèi)et避免閉包造成問題怎么解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“JavaScript中l(wèi)et避免閉包造成問題怎么解決”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


    文章題目:JavaScript中l(wèi)et避免閉包造成問題怎么解決
    網(wǎng)站地址:http://weahome.cn/article/jcshih.html

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部