var new_arrary = arr.filter(callback[, thisArg])? ? ? ? >filter() 方法使用指定的函數(shù)測試所有元素,并創(chuàng)建一個包含所有通過測試的元素的新數(shù)組脆丁。? callback 被調(diào)用時傳入三個參數(shù):1.元素的值;2.元素的索引;3.被遍歷的數(shù)組; .map()>不改變原來的數(shù)組蔚鸥;? arr.find(callback[, thisArg])> 如果數(shù)組中某個元素滿足測試條件,find() 方法就會返回滿足條件的第一個元素捧弃,如果沒有滿足條件的元素赠叼,則返回 undefined。? 區(qū)別:findIndex()方法返回的是滿足條件的元素的索引违霞,而非它的值嘴办。arr.findIndex(callback[, thisArg])> 用來查找數(shù)組中某指定元素的索引, 如果找不到指定的元素, 則返回 -1.arr.some(callback[, thisArg])> some() 方法測試數(shù)組中的某些元素是否通過了指定函數(shù)的測試。arr.every(callback[, thisArg])> every() 方法測試數(shù)組的所有元素是否都通過了指定函數(shù)的測試买鸽。Array.reduce( callback, [initialValue] )? > 功能:連續(xù)做某事涧郊,如加減、連接等眼五。
需要用到的值需要在callback中聲明妆艘,有 accumulator上一次調(diào)用返回的值,currentValue現(xiàn)在要處理的值看幼, currentIndex數(shù)組中要處理元素的索引批旺, array調(diào)用.reduce()的數(shù)組.replace( 正則式/字符串 , 替換的內(nèi)容 );.sort( [比較函數(shù)] )> 默認(rèn)從小到大排序;數(shù)組诵姜;改變原數(shù)組汽煮;
我對比較函數(shù)的理解:function(a,b){return a-b;} 為了保證返回值總是負(fù)數(shù),需要a前后反轉(zhuǎn) ;數(shù)組暇赤;改變原數(shù)組心例;.concat(item1,[item2], ‥‥)? > 連接2個或多個翎卓;字符串/數(shù)組契邀;可以使單獨某一項 如array[1].push(arr1,[arr2], ‥‥)> 數(shù)組新增1個或多個,返回數(shù)組長度失暴;數(shù)組; 改變原數(shù)組坯门;.substr( start, [ length ] )? > 截取,可用負(fù)值;字符串;.substring( start, [end] )> 截取,不可用負(fù)值逗扒;字符串;.slice( start, [end] )? > 截取古戴,可用負(fù)值 ;字符串/數(shù)組 ; 無內(nèi)容時矩肩,復(fù)制數(shù)組现恼;? .join( )> 把 ‘?dāng)?shù)組’ →→→→ ‘字符串’;1. 無內(nèi)容,用 黍檩, 連接起來 叉袍;
2. 有內(nèi)容,例如 ''? ' '? '-' 等刽酱;string.split( [separator], [limit] );? > 按指定內(nèi)容分割成數(shù)組喳逛;字符串a(chǎn)rray.splice( index, 刪除數(shù)量, [item1],[item2], ...);? > 向數(shù)組中替換條目,返回刪除內(nèi)容棵里;數(shù)組 润文;改變原數(shù)組;.indexOf( searchValue, [begin] );? > 在指定的開始位置搜索指定的值殿怜,返回index/-1; 數(shù)組/字符串 ;.lastIndexOf( searchValue, [begin] );? > 在指定的開始位置搜索指定的值典蝌,返回index/-1,僅是檢索順序從后往前; 數(shù)組/字符串 ;.includes( searchValue, [begin] );> 返回true/false;.search( searchValue );? > 搜索指定值(正則式/字符串),返回index/-1 ; 字符串 ;Array.isArray( )? > 用來判斷某個值是否為Array头谜。如果是骏掀,則返回 true,否則返回 false柱告。***#### 進制轉(zhuǎn)換xxx.toString(進制數(shù))? > 轉(zhuǎn)為2進制( 是字符串砖织,可用Number()轉(zhuǎn)一下 );parseInt( '101110100', 2 )? > 把2進制數(shù) 轉(zhuǎn)為 10進制末荐;***.match();? > 1. 字符串/未全局匹配的表達式
無匹配:返回null
有匹配:返回[匹配值,index:索引值,input:原字符串]
2. 全局匹配的正則式
無匹配:返回null
有匹配:返回匹配值組成的數(shù)組;.toLowerCase() .toUpperCase()? > 全部轉(zhuǎn)換成大/小寫string.match(正則表達式)? >返回符合此表達式的數(shù)組or字符串;***轉(zhuǎn)義字符\0? 空字符 ; \'? 單引號 ; \" 雙引號 ; \\ 反斜杠 ; \n? 換行? ;? \r? 回車? ;? \v? 垂直制表符 ;? \t? 水平制表符 ;? \b? 退格符? ;? \f? 換頁 ;? string.charAt(index);? > 獲取單個字符 新锈;字符串 甲脏;string[index];? 獲取單個字符 ;字符串 ;string.charCodeAt( index )> 在字符串中找到index位置的字母的編碼String.fromCharCode(編碼1,編碼2, ‥‥)> 把編碼1,編碼2 ... 等轉(zhuǎn)換后連接起來組成字符串块请;JSON.stringify(對象);? > 把對象變成json字符串娜氏;
JSON.parse(json字符串);? 把json字符串變成對象;list.removeChild(list.childNodes[1]);? > 移除第一項墩新;Number(xxx);? > 把xxx轉(zhuǎn)化為數(shù)字贸弥;? String(xxx);? 把xxx字符串化;***正則表達式:? > 1. ?? 0次或一次海渊;
2. +? 一次或多次绵疲;
3. *? 任意次综芥;
4. {n}? n次忧换;
5. {n,m}? n到m次;
6. {n, }? 至少n次缨称;
7. ()? 分組讯沈;
8. xxx|xxx? 或郁岩;
9. $1 $2...? 捕獲變量,必須配合分組使用缺狠;exp1(?= exp2);? > 選中匹配exp1并且匹配exp2的內(nèi)容? exp1(?!exp2);? > 選中匹配exp1不匹配exp2的內(nèi)容正則式.test(string);? > 檢測字符串中是否有滿足此正則式的內(nèi)容问慎,返回true或false;創(chuàng)建正則表達式的方式:> 1. var reg = new RegExp('hi','g');2. var reg = /hi/g;修飾符> 1. g:全文搜索;? 2. i:忽略大小寫;? 3. m:多行搜索;正則式.test(字符串);? > 檢測此字符串中是否有符合此正則式的內(nèi)容,返回true/false;正則式.exec(字符串);? > 檢測此字符串中是否有符合此正則式的內(nèi)容,返回'搜索到的字符串' / null ;字符類> 1. []符合中括號中字符的任意一個就行挤茄,如 str.match(/[a-e]/g);取反> 1. [^xxx]? 不符合xxx類的內(nèi)容如叼;預(yù)定義類> . 除了“回車”“換行”之外的所有字符;
\d? 0-9 之間的數(shù)字字符;
\D? 非數(shù)字字符;
\s? 空白符;
\S? 非空白符;
\w? 數(shù)字、字母驮樊、下劃線;
\W? 非 數(shù)字薇正、字母、下劃線;
邊界> ^? 以xxx開頭囚衔;
$? 以xxx結(jié)尾挖腰;
\b? 單詞邊界;
\B? 非單詞邊界练湿;
貪婪模式 and 非貪婪模式> 默認(rèn)是貪婪模式猴仑;在量詞后面直接加上一個問號?就是非貪婪模式肥哎。如 reg =/!.+?!/g#### Jquery中的JSON方法? ? $.getJSON('/json/cats.json',function(json){? ? ? ? ? ? $('.message').html(JSON.stringify(json));? ? ? ? ? });#### 對json數(shù)據(jù)進行過濾? ? json = json.filter(function(val) {? ? ? return (val.id !== 1);? ? });#### 獲取地理位置? ? if (navigator.geolocation) {? ? ? navigator.geolocation.getCurrentPosition(function(position) {? ? ? ? $("#data").html("latitude: " + position.coords.latitude + "
longitude: " + position.coords.longitude);? ? ? });? ? }***#### 數(shù)學(xué)函數(shù)Math.ceil();? > 向上取整Math.floor();? > 向下取整Math.round();? > 四舍五入取整Math.max(value1,[value2],‥‥)? > 取此組值中最大的值Math.min(value1,[value2],‥‥)? > 取此組值中最小的值***break 用于跳出循環(huán)(對if語句無作用)可以配合? [name]:function(){xxxxxxxxxx; break [name]; } ,使多層跳出多層循環(huán);***`'`? > 單引號console.log(' %s + %s = %s', 1, 1, 2)? //? 1 + 1 = 2console.log(' %s + %s = %s', 1, 1, 2)? //? 1 + 1 = 2? > %s 字符串%d 整數(shù)%i 整數(shù)%f 浮點數(shù)%o 對象的鏈接%c CSS格式字符串typeof (xxx)? ? > 判斷類型; ( )不必須;? 返回值有undefined boolean string number object function;進制數(shù)? > 8進制? 0 + xxx? 16進制? 0x + xxx最大最小數(shù)> Number.MAX_VALUE 和 Number.MIN_VALUE 分別表示最大和最小數(shù)辽俗;e.key> 按鍵值(e 是按鍵對象)window.scrollY;> DOM在在Y軸方向上的滾動距離;window.scroll(0,0);> 設(shè)置頁面 滑動的位置 篡诽;window.scrollByPages( -1 );> 翻到上一頁崖飘;window.innerHeight / window.innerWidth> 窗口高度 / 寬度...xxx? spread運算符 or rest運算符> spread運算符用三個點號表示,功能是把數(shù)組或類數(shù)組對象 >>> 一系列用逗號隔開的值? 可用于數(shù)組拷貝 :[...arr]? 把一個數(shù)組插入另一個數(shù)組里面 : [...arr,4,5,6]? 字符串 轉(zhuǎn)為 數(shù)組 : [...str]? > rest運算符用三個點號表示杈女,功能是把一系列用逗號隔開的值 >>> 數(shù)組 (此時只能有1個參數(shù))? 可用于數(shù)組拷貝 :[...arr]? 把一個數(shù)組插入另一個數(shù)組里面 : [...arr,4,5,6]? 字符串 轉(zhuǎn)為 數(shù)組 : [...str]Array.from(arrayLike[, mapFn[, thisArg]])> 從類似數(shù)組或可迭代對象創(chuàng)建一個新的數(shù)組實例朱浴。Object.assign(target, ...sources)> 把任意多個的源對象自身的可枚舉屬性拷貝給target吊圾,然后返回目標(biāo)對象。event.preventDefault();> 取消事件的默認(rèn)動作.但并不取消事件的冒泡行為.event.stopPropagation();> 阻止當(dāng)前事件在捕獲及冒泡階段的進一步傳播翰蠢。Object.reset();> 重置對象项乒,如 清空表單內(nèi)容;作用于form(不作用于input);isNaN();> 判斷是否是NaN類型梁沧;number.toFixed( n );> 把number保留n位小數(shù)檀何;Number.isInteger( a );> 判斷a是否是整數(shù);邏輯或返回第一個是 true 的操作數(shù) 或者 最后一個是 false的操作數(shù)? 邏輯與返回第一個是 false 的操作數(shù) 或者 最后一個是 true的操作數(shù)