淺談for與for in的不同點
阿新 • • 發佈:2019-01-11
在javasctipt裡遍歷是必不可少的一項重要內容, 從剛入前端坑開始,就會學到遍歷的方法,就是for迴圈,while迴圈和do while迴圈,然後就是慢慢的接觸,forEach和for in 剛開始,筆者在自學時,用過for in感覺效果和for迴圈(下面就簡稱for了)一樣,當時就是認為for和for in的效果一樣,就是寫法不同,但是呢?在一次案例裡,才發現有很大的區別,然後就去查,又問(沒什麼軟用),反正搗鼓了好幾天,最後算是有一點明白了,下面,就先說一下for和for in的區別
for的語法結構:
for( 初始值;判斷條件;步幅){ code }
for( var i =0;i<5;i++ ){
//i初始值為0;i是否小寫5;每次迴圈後i加1 console.log(i);// 0 1 2 3 4} for in的寫法: var wq = { age:20, name:"鹹魚", sex:"男" } for(var attr in wq){//attr是屬性,attr可以換成任意變數名 console.log(attr);// 輸出的是 屬性名:age name sex
寫到這裡,也許已經有人看出來一些不同了,但是呢?筆者還是想說一下的,因為當時筆者看這還是有點懵,所以為了以防有和我一樣菜的摳腳的人,還是說一下比較好,上面寫的for,迴圈的是自己定義的一個數值,一般來說,for也就是用來遍歷用的,而且是比較簡單的操作,像遍歷陣列就可以用forEach,但是forEach相容性不是很好,所以在遍歷陣列是還是建議用for來做,那為什麼不用for in呢?下面會提到的,for是我們經常用到的,並且也是最簡單的一種