js基础语法
||與&&
a && b : 將a, b轉(zhuǎn)換為Boolean類型, 再執(zhí)行邏輯與, true返回b, false返回a
a || b : 將a, b轉(zhuǎn)換為Boolean類型, 再執(zhí)行邏輯或, true返回a, false返回b
轉(zhuǎn)換規(guī)則:
對(duì)象為true
非零數(shù)字為true
非空字符串為true
其他為false
* 幾乎所有語(yǔ)言中||和&&都遵循“短路”原理,
* 如&&中第一個(gè)表達(dá)式為假就不會(huì)去處理第二個(gè)表達(dá)式,而||正好相反。
* js也遵循上述原則。
* 當(dāng)||時(shí),找到為true的分項(xiàng)就停止處理,并返回該分項(xiàng)的值,否則執(zhí)行完,并返回最后分項(xiàng)的值。
* 當(dāng)&&時(shí),找到為false的分項(xiàng)就停止處理,并返回該分項(xiàng)的值。
// var a = "" || null || 3 || 4;//3
// alert(a);
// var b = 4 && 5 && null && "0";//null
// alert(b);
?
RegExp
[\b]? ? ? 退格符(backspace)
\0? ? ? ? Null字符
\cX? ? ? X是A-Z的一個(gè)字母。匹配一個(gè)控制字符,\cM匹配字符串中的 control-M
[^xyz]? 取反,匹配除xyz以外的所有字符
?
^a? ? ? ? ? ? ? ? ? ?匹配以a開(kāi)頭的字符
s$? ? ? ? ? ? ? ? ? ?匹配以s結(jié)尾的字符
\b? ? ? ? ? ? ? ? ? ?匹配一個(gè)邊界單詞,如\bno 匹配"at noon"中的"no",ly\b匹配”possibly yesterday"中的"ly"
\B? ? ? ? ? ? ? ? ? ?匹配一個(gè)非邊界單詞,\Bon匹配“at noon"中的on,? ye\B匹配”possibly ysterday"中的“ye"
\n? ? ? ? ? ? ? ? ? ?表示分組中左邊第n個(gè)括號(hào)中的表達(dá)式,apple(,)\sorange\1?匹配 "apple, orange, cherry, peach." 中的 "apple,orange,"。
(?:x)? ? ? ? ? ? ? ?匹配x,但不會(huì)捕獲x,就是這個(gè)x不會(huì)出現(xiàn)在分組中
x*?或x+?? ? ? ? ?表示非貪婪匹配
x?? ? ? ? ? ? ? ? ? ??表示匹配一次或0次
x(?=y)? ? ? ? ? ? ?匹配x, 只有當(dāng)x后面緊跟著y時(shí)才匹配x
x(?!y)? ? ? ? ? ? ? 匹配x,只有當(dāng)x后面不是y時(shí)才匹配x?
js中的正則表達(dá)式用/.../[.../]表示一個(gè)參數(shù),第二個(gè)參數(shù)可以為
g? ? ? ? ? ? ? ? ? ? ?全局匹配;
i? ? ? ? ? ? ? ? ? ? ? 忽略大小寫(xiě);
m? ? ? ? ? ? ? ? ? ? 讓^和$可以分別匹配\r,\n;
u? ? ? ? ? ? ? ? ? ? ?將第一個(gè)參數(shù)里的表達(dá)式視為unicode
var myRe=/ab*/g;? ? ? ? ? ? ?表示匹配模式為ab*, g為第二個(gè)參數(shù),表示全局匹配
var str='abbcdefabh';
使用正則表達(dá)式的三種形式
var resul=myRe.exec(str)? #resul為匹配的結(jié)果 ,resul[0]為全部匹配的結(jié)果,resul[1]為第一個(gè)分組的結(jié)果。。
myRe.test(str)? ? ? ? ? ? ? ? ? ? ? # 返回bool值,檢查str是否含符合正則表達(dá)式的字符
str.match(myRe)? ? ? ? ? ? ? ? ? ?#返回結(jié)果同exec()
?
字符串方法
str='this is my sting word';
str.replace(‘需要被替換的字串’ 或 ‘字串的正則表達(dá)式小括號(hào)內(nèi)的串’ , ‘給定來(lái)替換原串的串’)
str.indexOf("?")? 返回給定字符第一次出現(xiàn)的位置,未出現(xiàn)則返回-1
str.split('&') 根據(jù)給定分割符分割字符串,返回分割后的數(shù)組
?
數(shù)組方法
創(chuàng)建 :var my_arry=new Arry()? ?或 var my_arry=[]
遍歷: for(var i=0;i<my_arry.length;++i) my_arry[i];
拼接:a=my_arry.join(',');
排序:b=my_arry.sort();
反轉(zhuǎn):c=my_arry.reverse();
根據(jù)索引刪除插入元素:d=my_arry.splice(start,deleteCount,val1,val2,..)從start位置起刪除deleteCount個(gè)元素,并從該位置起插入val1,val2,.. ,返回值為被刪除的元素組成的新數(shù)組。
數(shù)組間連接: d=my_arry.concat(3,4,5) ,返回值為my_arry的值加上【3,4,5】組成的新數(shù)組
向數(shù)組尾部添加元素:my_arry.push(4) ,返回值為數(shù)組的長(zhǎng)度
刪除數(shù)組尾部元素: my_arry.pop() ,返回值為尾部被刪除的元素
刪除數(shù)組頭部元素:my_arry.shift() ,返回被刪除的元素
添加元素到數(shù)組頭部:my_arry.ushift(4,5)
?
?
運(yùn)算符優(yōu)先級(jí)
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
?
?
| 20 | 圓括號(hào) | n/a | ( … ) |
| 19 | 成員訪問(wèn) | 從左到右 | … . … |
| 需計(jì)算的成員訪問(wèn) | 從左到右 | … [ … ] | |
| new?(帶參數(shù)列表) | n/a | new … ( … ) | |
| 函數(shù)調(diào)用 | 從左到右 | … (?…?) | |
| 18 | new?(無(wú)參數(shù)列表) | 從右到左 | new … |
| 17 | 后置遞增(運(yùn)算符在后) | n/a ? | … ++ |
| 后置遞減(運(yùn)算符在后) | … -- | ||
| 16 | 邏輯非 | 從右到左 | ! … |
| 按位非 | ~ … | ||
| 一元加法 | + … | ||
| 一元減法 | - … | ||
| 前置遞增 | ++ … | ||
| 前置遞減 | -- … | ||
| typeof | typeof … | ||
| void | void … | ||
| delete | delete … | ||
| await | await … | ||
| 15 | 冪 | 從右到左 | …?**?… |
| 14 | 乘法 | 從左到右 ? | … *?… |
| 除法 | … /?… | ||
| 取模 | … %?… | ||
| 13 | 加法 | 從左到右 ? | … +?… |
| 減法 | … -?… | ||
| 12 | 按位左移 | 從左到右 | … <<?… |
| 按位右移 | … >>?… | ||
| 無(wú)符號(hào)右移 | … >>>?… | ||
| 11 | 小于 | 從左到右 | … <?… |
| 小于等于 | … <=?… | ||
| 大于 | … >?… | ||
| 大于等于 | … >=?… | ||
| in | … in?… | ||
| instanceof | … instanceof?… | ||
| 10 | 等號(hào) | 從左到右 ? | … ==?… |
| 非等號(hào) | … !=?… | ||
| 全等號(hào) | … ===?… | ||
| 非全等號(hào) | … !==?… | ||
| 9 | 按位與 | 從左到右 | … &?… |
| 8 | 按位異或 | 從左到右 | … ^?… |
| 7 | 按位或 | 從左到右 | … |?… |
| 6 | 邏輯與 | 從左到右 | … &&?… |
| 5 | 邏輯或 | 從左到右 | … ||?… |
| 4 | 條件運(yùn)算符 | 從右到左 | … ? … : … |
| 3 | 賦值 | 從右到左 | … =?… |
| … +=?… | |||
| … -=?… | |||
| … *=?… | |||
| … /=?… | |||
| … %=?… | |||
| … <<=?… | |||
| … >>=?… | |||
| … >>>=?… | |||
| … &=?… | |||
| … ^=?… | |||
| … |=?… | |||
| 2 | yield | 從右到左 | yield?… |
| yield* | yield*?… | ||
| 1 | 展開(kāi)運(yùn)算符 | n/a | ...?… |
| 0 | 逗號(hào) | 從左到右 | … ,?… |
轉(zhuǎn)載于:https://www.cnblogs.com/Ting-light/p/9591135.html
總結(jié)
- 上一篇: 成都欢乐谷进去后还要钱吗
- 下一篇: 多亏了这篇文章,我的开发效率远远领先于我