Javascript ECMA-3 (数组,Date,正则)
生活随笔
收集整理的這篇文章主要介紹了
Javascript ECMA-3 (数组,Date,正则)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 數組
1.1 創建數組
//一、自變量創建數組 // 1-通過字面量創建一個空數組 var arr1 = []; console.log(arr1) console.log(typeof arr1); // object// 2-通過字面量創建一個帶有元素數組 var arr2 = [1, 2, 'abc', null, true]; console.log(arr2);// 二、通過Array類型創建數組 // 1-創建空數組 var arr3 = new Array(); console.log(arr3);// 2-創建一個最初可以有五個元素的數組,數組的容量為5 var arr4 = new Array(5); console.log(arr4)//3-創建一個帶有四個元素的數組 var arr5 = new Array(1,2,'a','y'); console.log(arr5);1.2 數組元素的訪問及修改
// 創建一個數組 var arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];// 1-數組下標訪問 // 2 數字的length屬性 // 通過lenth屬性增加元素個數 arr1.length = 13; console.log(arr1); // 減少 arr1.length = 6; console.log(arr1);//3 通過索引增加數據 如果索引不連續 就會出現空的 arr1[6] = 7; console.log(arr1);//4-刪除數據delete // 使用delete刪除不會改變數組的長度 刪除的元素用undefined補全 var arr3 = [1, 2, 3, 4, 5] delete arr3[2]; console.log(arr3); console.log(arr3[2]); // undefined1.3 數組的方法
var arr1 = [1, 2, 3, 4]; // push 向數組末尾添加元素 // 可以同時添加一個或多個元素 arr1.push(6); console.log(arr1); arr1.push(7,8,9); console.log(arr1);// unshift 向數組開頭添加元素 // 可以同時添加一個或多個元素// 刪除元素 pop() 移除最后一個元素 arr1.pop() console.log(arr1);// 移除第一個元素 arr1.shift(); console.log(arr1);// 反轉數組 var arr2 = [1, 2, 3]; arr2.reverse(); console.log(arr2);// join(str) var arr3 = [1, 2, 3]; var str3 = arr3.join('*'); console.log(str3);// indexOf() var arr4 = [1, 2, 3, 4, 5, 3]; console.log(arr4.indexOf(3)); //返回3元素 第一次出現的下標 // lastIndexof// slice(start, end):截取數組 // 返回一個新數組 var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var arr6 = arr5.slice(2); // 下標2到末尾 console.log(arr6); var arr7 = arr5.slice(2,6); // 不包含 下標6 console.log(arr7);// splice(index, count, [item1, item2,...]) // splice可以進行增加修改或刪除元素的操作 // index:下標 count :元素個數 // [item1 ..] 新元素 // splice直接操作原數組,對原數組有影響// 刪除:只寫index 與count // 返回:一個刪除元素的數組 var arr8 = [1, 2, 3, 4, 5, 6, 7]; var arr9 = arr8.splice(2,4); // 下標2開始刪除4個元素 arr8=[1, 2, 7] console.log(arr9); // arr9 = [3, 4, 5, 6] console.log(arr8);// 添加 // 如果執行添加元素的操作,count的值為0 var arr10 = [1, 2, 3, 4] var arr11 = arr10.splice(2,0, 100,200,300); console.log(arr11); // [] 沒刪除 console.log(arr10); // [1,2,100,200,300,3,4]// 替換 var arr12 = [1,2,3,4]; var arr13 = arr12.splice(2,2,100,200); console.log(arr13); // [3, 4] console.log(arr12); // [1,2,100,200]// sort:排序 按照ASCII 排序 var arr14 = [3, 17, 19, 2, 0, 1]; arr14.sort(); console.log(arr14);// 參數傳入排序 function sortNumber(a,b){return a - b; } arr14.sort(sortNumber); console.log(arr14);// 檢測數組的方法 var arr15 = [1, 2, 3, 4]; console.log(arr15 instanceof Array); // true console.log(arr15.constructor === Array); // true2. Date的方法
2.1 創建Date
// 創建 // 1、Date() 函數直接創建時間 返回當前時間 var date1 = Date(); console.log(date1); //中國標準時間 console.log(typeof date1); //string//2、Date對象創建 // 2.1 不帶參數 var date2 = new Date(); // 好處是可以設置時間 console.log(date2); // object// 2.2、構造方法傳入參數 // 傳入格式 // 2018-5-10 12:12:12 // 2018-5-10 // 2018-05-10 12:12:12 // 2018-05-10 // 2015/5/10 12:12:12 //2018/05/10 12:12:12var date3 = new Date('2018-5-10 12:12:12'); console.log(date3); var date4 = new Date('2018-05-10 12:12:12'); console.log(date5); var date5 = new Date('2018/05/10 12:12:12'); console.log(date6);var date6 = new Date('2018-05-09'); // 用 / 也可以 console.log(date6); // Wed May 09 2018 08:00:00 GMT+0800 (中國標準時間)// 從00:00:00開始 與上面差8小時 而 / 加0不加0是沒有區別的 var date7 = new Date('2018-5-9'); console.log(date7); // "Wed May 09 2018 00:00:00 GMT+0800 (中國標準時間)"// 2.3 傳入參數: 格式(年月日時分秒毫秒) 會進位 var date8 = new Date(2015, 5, 1, 12, 32, 25); //月從0開始數 5代表6月!!! console.log(date8);// 2.4 傳入一個參數:格式(毫秒) var date9 = new Date(2000) console.log(date9)2.2 Date的方法
var date1 = new Date(); console.log(date1.getFullYear()); console.log(date1.getMonth()); console.log(date1.getDate()); console.log(date1.getDay()); //星期 console.log(date1.getHours()); console.log(date1.getMinutes()); console.log(date1.getSeconds()); console.log(date1.getMilliseconds()); // 距離1970-01-01的毫秒數 console.log(date1.getTime());// 設置年份 ....星期一般不用設置 date1.setFullYear(2015); // date.setDate(); console.log(date1);// 裝換成字符串 包含年月日分時秒 console.log(date1.toLocaleString()); // 包含年月日 console.log(date1.toLocaleDateString()); // 包含分時秒 console.log(date1.toLocaleTimeString())// 返回該日期距離1970年 1月1 日 0點的毫秒數 console.log(Date.parse('2016-10-10'));// 日期的運算 var d6 = new Date(); var d7 = new Date(2016, 10, 11); console.log(d6-d7); // 毫秒數3. 正則表達式
3.1 創建正則表達式
// 創建正則表達式 // 1、對象方法創建 // new RegExp('正則表達式','模式'); // g:全局查找 // i:不區分大小寫 var r1 = new RegExp('nice'); var r2 = new RegExp('nice','g') var r3 = new RegExp('nice','i') var r4 = new RegExp('nice','gi')// 2、字面量創建 var r5 = /nice/; var r6 = /nice/gi;// var r7 = /[a-z]/;3.2 正則的方法
var str1 = 'today is very good good Good'var r1 = /good/gi; // 1、test():查找字符串中是否有符合要求的字符串 // 返回boolean var result = r1.test(str1); console.log(result) // true//2、exce():查找字符串中是否有符合要求的字符串 // 返回值類型:數組或null // 返回數組 代表可以找到 // 返回null 代表查找結束或沒有找打//當第一次執行exec時,從字符串開頭開始查找,如果找到,返回匹配到的 //字符串和下標,當再一次執行時候,繼續向下查找,返回匹配到下一個字符串 // 如果返回null 代表找不到或查找結束,然后下次執行從頭查找// exec:會記錄已經查找過的下標 // 當text與exec同時使用,test檢驗字符串時,如果能夠符合要求 // 會記錄找到的下標。 var resu1 = r1.exec(str1); console.log(resu1); // good index 19 第二個good 由于test找了第一個good var resu2 = r1.exec(str1); console.log(resu2); // Good index 24 var resu3 = r1.exec(str1); console.log(resu3); // null var resu4 = r1.exec(str1); console.log(resu4); // good index 14// 3、compile():修改正則表達式 r1.compile('nice'); /* r1 = /nice/ */ console.log(r1) // /nice/3.3 字符串中應用正則
// 字符串切割 str1='a b c d f' console.log(str1.split(/ +/))// 字符串替換 var str2 = 'nice good nice good' console.log(str2.replace('nice', 'bad')) // 替換一次 console.log(str2.replace(/nice/g, 'bad'));// 字符串查找 var str3 = 'nice good nice good nice'; console.log(str3.search(/Good/i)); //返回一次查到的下標3.4 正則的使用
// 點擊按鈕后 執行func函數 function func () {//獲取輸入框var i1 = document.getElementById("in1"); // id為in1的input輸入框//獲取文字var str1 = i1.value;IsString(str1)}function IsString (str) {if(str.length!=0){reg = /^[a-zA-Z0-9_]+$/;if(!reg.test(str)){alert('您輸入的字符串格式不正確')}else{alert('正確')}}else{alert('您輸入的內容為空')} }Javascript BOM簡介
總結
以上是生活随笔為你收集整理的Javascript ECMA-3 (数组,Date,正则)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公司u盾丢了怎么办 U盾丢了怎么补
- 下一篇: 畅享网助力打造IT界的文化人