1. 程式人生 > 實用技巧 >C# Excel匯出(List集合匯出)

C# Excel匯出(List集合匯出)

JavaScript
    
    概述
        屬於原生JS和Java沒有任何半毛錢的關係,是在瀏覽器環境下執行的一種指令碼語言
        可以用來和資料進行互動,分為介面互動和資料互動
            介面互動
                指的是當觸發某種事件的時候, 如:點選按鈕,滑鼠移動
            資料互動
                指的是ajax發起http請求獲取資料
                
    常見的使用三種方式(和CSS是方式一樣)
        行內式  基本不常用
        外鏈式  <script type="
text/js" src = "想要連線的JS的檔案" ></script> 嵌入式 <script> 內嵌程式碼塊 </script>
常見的輸出 alert("hello word") 彈框的形式顯示 console.log("hello word") 按F12/Fn+F12在瀏覽器的console下可以檢查輸出 console.dir("hello word") console.table("hello word") document.wirte(
"hello word") 直接顯示在瀏覽器頁面上 JS操作CSS的屬性時注意 當事件觸發時,修改屬性時注意         全部是小寫的直接用         xxx -> style.xxx = "";        中間存在"-""-"後面的第一個單詞大寫   xx-xx -> style.xxXx = ""; class 屬性較為特殊 class -> style.className = "";
<script> window.onload = function() { var oBtn = document.getEleementById("btn"); var oDiv = document.getEleementById("div"); oBtn.onclick =function() { oDiv.style.textSize = 25px; oDiv.style.lineHight = 20px; } } </script> 變數的命名規則和定義變數 嚴格區分大小寫 第一個字母必須是 字母/下劃線/$ 其他字母可以是字母 下劃線 /美元/數字 支援匈牙利命名規則 第一個字母代表資料型別 nnum stemp var nnum = 12; var nnum = "12"; var stemp = "aa"; 變數的作用域 函式的呼叫 要往回找 函式的定義階段 首先在函式內部找 -> 內部找不到就往外找,直到找到全域性為止 全域性變數和區域性變數 全域性變數 num=10; 區域性變數 所有用var定義出來的變數都是區域性的 var num = 10; 作用域和其他的語言基本相同,看有作用域的變數是全域性變數還是區域性變數,全域性變數是對這個.html都有效,區域性變數只在當前函式下有效 函式 jS中的函式具備預解析功能 函式的呼叫可以放在定義函式的上面, 普通函式 eg: move() 定義函式 function move(引數位置) { //執行的程式碼塊 document.write("ok"); } 匿名函式 函式沒有名字 var text = function(x1,x2) { return x1 + x2; ] 封閉函式 如果是普通的函式的話,如果有多個同名函式,只有一個可以被呼叫,但封閉函式可以做到讓每個同名函式都可以執行裡面的程式碼塊 <script> 普通函式 function func() { alert(1); } func() 第一種封閉函式 ;(function() { function func() { alert(2); } func() })() 封閉函式的語法結構 第一種封閉函式的語法結構 !(function() { alert(3); })() 第二種封閉函式的語法結構 ~(function() { alert(4); })() </script> 常見的資料型別 number int/float boolean true/false string undefined 未定義/未宣告的 object 有空物件 var ret = null 有資料的物件(觸發事件) 入口函式 在hender標籤中進行定義 <header> <script> window.onload = function() { var oBtn = document.getElementById("btn"); var oDiv = document.getElementById("div"); oBtn.onclick =function() { oDiv.style.textSize = 25px; oDiv.style.lineHight = 20px; } } </script> </header> 常見的滑鼠的事件 onclick 當點選時執行什麼 onmouseover 當滑鼠滑過時執行什麼 onmouseout 當滑鼠離開時執行什麼 oBtn.onclick = function() { // 執行的程式碼塊 oDiv.style.display = "block"; } js中的基本操作 num = prompt("請輸入字串"); //相當於python中的 input() 判斷資料型別 typeof() && || ! >>(往右移幾位就除以2的n次方) <<(往左移幾位就乘以2的n次方) "==" 判斷數值是否相等(不管資料型別是什麼)  相對相等 "===" 判斷數字是否相等 + 資料型別       絕對相等 條件語句 if(條件語句){程式碼塊} else if(條件語句){程式碼塊} else{程式碼塊} 迴圈 while迴圈 var i=0; while(i>10) { // 執行相應的程式碼塊 i++; } for迴圈 for(var i=0;i<10;i++) { //執行相應的程式碼塊          ; } switch case 迴圈 var date = prompt("請輸入內容") switch(date): { case 1: document.write("今天是星期一"); break; case 2: document.write("今天是星期二"); break; case 3: document.write("今天是星期三"); break; case 4: document.write("今天是星期四"); break; case 5: document.write("今天是星期五"); break; case 6: document.write("今天是星期六"); break; case 7: document.write("今天是星期日"); break; default: document.write("沒有你要查詢的這個星期數"); } 陣列 定義陣列的兩種方式 var arr = [] //定義一個空陣列 var arr = new Array(1,2,3) //裡面包含1,2,3三個元素 運算元組常用的方法 length 獲取陣列的長度 push() 在末尾增加一個元素 pop() 刪除末尾的元素 splice() splice(位置下標,刪除元素的位置,增加元素的位置) splice(位置下標,刪除元素的位置)    只刪除不增加 splice(位置下表)          從第幾個位置後,該位置後面的所有元素都刪除 reserve()   陣列中的元素翻轉 join()   將陣列轉換為字串 ret = arr.join("-") indexof()   返回元素中第一次出現的索引值 陣列去重 var arr = [11,22,33,88,22,44,55,44,22,,66]; var new_arr = []; for(var i=0;i<arr.length;i++) { // document.write(arr[i]); // 去重的條件 if(arr.indexOf(arr[i]) == i) { new_arr.push(arr[i]); } } document.write(new_arr); 字串 常用的操作方法 parseInt() 去掉小數點後的的值 var num = 1.2 alert(parseInt(num)) -> 1 parseFloat() var num = 1.2 alert(parseInt(num)) -> 1.2 split() 將字串進行切割 indexof() 返回元素中第一次出現的索引值 substring(start,end) 左閉右開 定時器 setTimeout() 只能執行一次的定時器 setInterval() 可以進行無限次程式碼執行 clearTimeout() clearIntveral() 兩個定時器的引數相同 var result = null; result = setIntveral(function() { ;// 裡面需要執行的程式碼塊 },50); clearIntveral(result) result = null; 內建的物件和方法 自定義物件 {name: "xiaoqiang", age: 18} -鍵不用加引號,加上也不出錯 -值如果是字串必須寫雙引號 new關鍵字形式 內建的Date物件 --> Python中的內建模組 var oDate = new Date(); JSON物件   字串轉物件 --> obj = JSON.parse(string)   物件轉字串 --> s = JSON.stringify(obj) Math物件 Math.ceil(); //向上取整。 Math.floor(); //向下取整。 --> <!-- Math.round(); //四捨五入。 Math.random(); //0.0 ~ 1.0 之間的一個偽隨機數。【包含0不包含1】 //比如0.8647578968666494 Math.ceil(Math.random()*10); // 獲取從1到10的隨機整數 ,取0的概率極小。 Math.round(Math.random()); //可均衡獲取0到1的隨機整數。 Math.floor(Math.random()*10); //可均衡獲取0到9的隨機整數。 Math.round(Math.random()*10); //基本均衡獲取0到10的隨機整數,其中獲取最小值0和最大值10的機率少一半。 因為結果在0~0.4 為0,0.5到1.4為1...8.5到9.4為9,9.5到9.9為10。所以頭尾的分佈區間只有其他數字的一半。 RegExp(正則) 兩種定義方式: new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$") /new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$")/ 匹配模式 g 全域性 i 忽略大小寫 正則表示式中間不能加空格 .test() --> .test(undefined) --> .test("undefined") 全域性模式下會有一個lastIndex屬性