国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談javascript中for in 和 for each in的區別

2024-05-06 16:18:40
字體:
來源:轉載
供稿:網友

兩個的作用都用來遍歷對象,但為什么有了for in語句了還要for each in語句呢,后來看了下for each in開發的文檔,for each in是作為E4X標準的一部分在javascript 1.6中發布的,而且它不是ECMAScript標準的一部分

區別一:

for in是javascript 1.0 中發布的。

for each in是作為E4X標準的一部分在javascript 1.6中發布的,而它不是ECMAScript標準的一部分。

這將意味著存在各種瀏覽器的兼容性問題。for each in,對很多瀏覽器都不支持的。例如是不支持IE6,IE7,IE8等瀏覽器的。

區別二:

例: var 長方形= { 高:"15", 寬:"25" };

 

 
  1. for (var i in 長方形){ 
  2. alert( i + "," + 長方形[i] ); 

結果依次是: 高,15 ; 寬,25 ;

 

 
  1. for each (var i in 長方形){ 
  2. alert( i + "," + 長方形[i] ); 

結果依次是: 15, undefined ; 25, undefined;

兩種遍歷方法的變量i的值是不一樣的,for each in無法獲得對象的屬性名,只能獲取到屬性值。

最后總結一下使用建議:

(1)遍歷普通數組,建議使用原生的遍歷方法for,不要貪圖方便,因為for in 和for each in均存在瀏覽器的兼容問題,不能保證它們對數組的遍歷順序(如果對順序的不作要求的話,可以使用for in ,但本人不建議),有興趣話,可以閱讀的下一篇文章《關于js中for in的缺陷淺析》。

(2)遍歷對象,由于for沒辦法提供理想的遍歷,因而只能選擇其他方法。這里建議使用for in ,從上面講解的區別,for in比for each 更具優勢,for in能獲取索引和屬性值,而for each只能獲取屬性值,而且for each在很多低版本的瀏覽器是不支持。

以上所述就是本文的全部內容了,希望大家能夠喜歡

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宁化县| 湘乡市| 盐边县| 呼玛县| 富宁县| 清丰县| 无棣县| 高邑县| 黄梅县| 宣城市| 郓城县| 恩施市| 兴隆县| 应城市| 淮安市| 宝兴县| 察隅县| 禄丰县| 博客| 湖北省| 吴旗县| 四子王旗| 弋阳县| 南开区| 嘉祥县| 青田县| 九寨沟县| 启东市| 山东省| 普格县| 济阳县| 沙河市| 建宁县| 莱西市| 凤翔县| 鹿邑县| 双柏县| 庆城县| 盱眙县| 大港区| 永泰县|