一、交換兩個數字的值 我們交換兩個數字的值想到的方法一般就是用一個新的變變數,讓他把一個數存起來,然後在交換兩個數字的值,看下麵這種。 看下麵這段代碼,也可以交換兩個數字的值,如果這樣寫你會不會發現特別高大上。 二、數組的排序 1.數組方法中的sort排序方法。 這是數組方法中的sort排序方法,如 ...
一、交換兩個數字的值
我們交換兩個數字的值想到的方法一般就是用一個新的變變數,讓他把一個數存起來,然後在交換兩個數字的值,看下麵這種。
var a = 1, b = 2; //交換兩個數字的值 var c; c = a; a = b; b = c;
看下麵這段代碼,也可以交換兩個數字的值,如果這樣寫你會不會發現特別高大上。
var a = 1, b = 2; a = [b, b = a][0];
這裡其實是a = [][0]數組下標為0的那個,然後 b = a; 這樣也可以交換兩個數字的值了。
二、數組的排序
1.數組方法中的sort排序方法。
var a = [9,8,8,6,1,2,4,56]; a.sort(function(a,b){ return a - b;//由小到大排序 }) console.log(a)
這是數組方法中的sort排序方法,如果return b - a; 就是由大到小排序,其中的原理是什麼呢,其實就是冒泡排序法
2.冒泡排序法 (由小到大排列)
var a = [9,8,7,6,5,4,3,2,1]; for(var i=0; i<a.length-1; i++){ for(var j=0; j<a.length-i; j++){ if(a[j]>a[j+1]) a[j] = [a[j+1], a[j+1]=a[j]][0]; } } console.log(a)
3.選擇升序法(由小到大排列)
var a = [9,8,7,5,6,4,1,3,1]; for(var i=0; i<a.length-1; i++){ for(var j=i+1; j<a.length; j++){ if(a[i]>a[j]) a[i] = [a[j],a[j]=a[i]][0]; } } console.log(a)
三、for in 迴圈 遍歷json
我學習for in迴圈的時候是在學json的時候學到的,看下麵這段代碼。
1.for in迴圈遍歷出json裡面所有的屬性名
var json = { a : 1, b : 2, nam : 'Z', clas2 : '我們的' } for(i in json){ console.log(i) }
2.我們列印出來的i會是json裡面所有的屬性名,那麼他是怎麼迴圈的呢,我當時一直不太清楚,你嘗試一下下麵這段代碼看一下效果。
var json = { a : 1, b : 2, nam : 'Z', clas2 : '我們的' } for(i in json); console.log(i)
我們在for in 迴圈的這一行給了一個分號結束語句,然後列印出來i我們會發現他是class2,現在你大概明白了吧,每一次迴圈這個i代表的就是json本次迴圈得到的屬性名,他不是代表的一個數組,而是代表一個值。
3.for in 迴圈遍歷出json裡面所有的值
var json = { a : 1, b : 2, nam : 'Z', clas2 : '我們的' } for(i in json){ console.log(json[i]) }
四、for in迴圈遍曆數組
var a = [1,2,5,6,777,6,21]; for(i in a){ console.log(i) //這裡列印出來的是所有的下標 console.log(a[i]) //這裡列印出來的是數組裡面所有的值 }
五、遍歷json屬性到數組
1.這個裡面用到的是每一次用數組的長度來代表他的下標,然後將json裡面的屬性名遍歷到a數組中。
var json = { a : 1, b : 111, nam : 'z', clas2 : 1 } var a = []; for(a[a.length] in json); console.log(a)
2.遍歷json的屬性的值到數組中
var json = { a : 1, b : 111, nam : 'z', clas2 : 1 } var a = []; for(i in json){ a[a.length] = json[i]; } console.log(a)
六、判斷瀏覽器是不是IE678
if(!-[1,]){ alert('這是ie678'); }
說出來你可能不信,
原理
1. 請你試一下 alert([1,2,].length)瀏覽器中彈窗的數字是多少
谷歌 火狐 一些的彈窗都是2,所以後面的那個逗號瀏覽器判斷是不算的
但是在IE6 7 8 中彈窗出的數字是 3 ,
所以Number( [1,])這個東西在谷歌,火狐的眼中就是1,但是在IE678心中他就是NaN
2. 前面的 - 號 隱式轉換為Number型
3 取反 判斷內的值為true,所以可以在這裡面判斷成。
如果你看到我的文章可以收穫一些知識,那麼我會非常高興的。