學習blus老師js(2)--深入JavaScript
阿新 • • 發佈:2017-10-15
itl += ... load nts else res 字符串 問題
1.函數傳參
可變參(不定參):arguments 參數的個數可變,參數數組 例1.求和 求所有參數的和<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> <script> function sum() { //alert(arguments.length); //alert(arguments[0]); //arguments varView Code 例子2:CSS函數 判斷arguments.length 給參數取名,增強可讀性result=0; for(var i=0;i<arguments.length;i++) { result+=arguments[i]; } return result; } alert(sum(12, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6)); </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> <script> function css(obj, name, value) { if(arguments.length==2) //獲取 { return obj.style[name]; } else //設置 { obj.style[name]=value; } } window.onloadView Code=function () { var oDiv=document.getElementById(‘div1‘); alert(css(oDiv, ‘width‘)); //css(oDiv, ‘background‘, ‘green‘); }; </script> </head> <body> <div id="div1" style="width:200px; height:200px; background:red;"> </div> </body> </html>
2.取非行間樣式:
取非行間樣式(不能用來設置):
obj.currentStyle[attr] //IE getComputedStyle(obj, false)[attr] //chrome / FF<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> <style> #div1 {width:200px; height:200px; background:red;} </style> <script> function getStyle(obj, name) { if(obj.currentStyle) //IE { return obj.currentStyle[name]; } else //chrome / FF { return getComputedStyle(obj, false)[name]; } } window.onload=function () { var oDiv=document.getElementById(‘div1‘); alert(getStyle(oDiv, ‘backgroundColor‘)); }; </script> </head> <body> <div id="div1"> </div> </body> </html>View Code
但是要註意上面getStyle()存在的問題,這個只能取單一樣式,如果要取復合樣式,如上面的background,要使用‘backgroundColor‘
3.數組基礎
1)添加、刪除元素
添加- push(元素),從尾部添加
- unshift(元素),從頭部添加
- pop(),從尾部彈出
- shift(),從頭部彈出
2)插入、刪除
splice splice(開始, 長度,元素…) 先刪除,後插入- 刪除
- 插入
- 替換
<script> var arr=[1,2,3,4,5,6]; //刪除:splice(起點, 長度) //arr.splice(2, 3); //插入:splice(起點, 長度, 元素...); //arr.splice(2, 0, ‘a‘, ‘b‘, ‘c‘); arr.splice(2, 2, ‘a‘, ‘b‘); alert(arr); </script>View Code
3)排序、轉換
排序- sort([比較函數]),排序一個數組
- concat(數組2)
- join(分隔符)
<script> var arr=[‘float‘, ‘width‘, ‘alpha‘, ‘zoom‘, ‘left‘]; arr.sort(); alert(arr); </script>View Code
<script> var arr=[12, 8, 99, 19, 112]; arr.sort(function (n1, n2){ return n1-n2; /*if(n1<n2) { return -1; } else if(n1>n2) { return 1; } else { return 0; }*/ }); alert(arr); </script>View Code
4.
----------學習blus老師js(2)--深入JavaScript