js筆記01-基本知識

參考 廖雪峰 JavaScript全棧教程

字符串

''或者""括起來的字符就是字符串

\是轉(zhuǎn)義字符

` ... `來表示多行

串聯(lián)字符串用+

var name = '小明';
var age = 20;
var message = '你好, ' + name + ', 你今年' + age + '歲了!';

也可以

模板字符串

var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}歲了!`;
alert(message);

操作字符串

字符串長度
s.length;

toUpperCase
小寫到大寫

var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'

toLowerCase
s.toLowerCase()

indexOf
indexOf()會搜索指定字符串第一個字符出現(xiàn)的位置:

substring
substring()返回指定索引區(qū)間的子串:

var s = 'hello, world'
s.substring(0, 5); // 從索引0開始到5(不包括5)土涝,返回'hello'
s.substring(7); // 從索引7開始到結(jié)束密幔,返回'world'

數(shù)組

兩種方式:

var arr = [1, 2, 3.14, 'Hello', null, true];
new Array(1, 2, 3); 

為了可讀性選前者

數(shù)組長度
a.length;
length賦值,會改變數(shù)組

indexOf
同字符串

slice
slice()就是數(shù)組的substring()的數(shù)組版本

push和pop
在數(shù)組末尾添加或刪除元素

shift和unshift
在數(shù)組頭部添加或刪除元素

sort
排序

reverse
反轉(zhuǎn)

splice
從指定位置刪除若干元素,再在該位置添加元素

var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
arr.splice(2, 3, 'Google', 'Facebook'); // 返回刪除的元素 ['Yahoo', 'AOL', 'Excite']
//從索引 2 的位置開始刪掉 3 個元素   再在 2 的位置開始添加 'Google', 'Facebook' 兩個元素
//同時 返回刪掉的3個元素 ['Yahoo', 'AOL', 'Excite'] 并以數(shù)組形式返回

concat
把連個數(shù)組連接起來 返回一個新的數(shù)組 但是并不修改之前的數(shù)組

join
將數(shù)組的元素鏈接起來

var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'

對象###

用一個{...}表示一個對象,鍵值對以xxx: xxx形式申明菠红,用,隔開绒北。注意话侧,最后一個鍵值對不需要在末尾加,

object.prop的形式訪問一個屬性

檢測對象是否擁有某一屬性筹陵,可以用in操作符

prop in object // true or false

但是可能是繼承的
判斷是否是自身擁有的 可以用hasOwnProperty()方法

***判斷條件

if () { ... } else { ... }

***循環(huán)

for (i=1; i<=10000; i++) {
    x = x + i;
}

break跳出循環(huán)

for (var key in o) {
    console.log(key); // 'name', 'age', 'city'
}

過濾繼承對象 加一個判斷 o.hasOwnProperty(key)

數(shù)組也可以 用in操作符,給出的是索引值,但是得到的是字符串而不是Number類型
但是可以使用,因為會有類型轉(zhuǎn)換

while
do ... while

while(...){...}

do{...}while(...)

map 和 set

***map

Map是一組鍵值對的結(jié)構沿后,具有極快的查找速度沿彭。

var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95

初始化map,可以像上面那樣,也可以像下面這樣,先一個空的map,再用set()方法進行賦值

var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 刪除key 'Adam'
m.get('Adam'); // undefined

***set
就是集合,元素不重復
add(key) delete(key)方法

可迭代

ArrayMapSet都屬于iterable類型尖滚。
iterable就能用for...of來遍歷
為了解決 in的歷史遺留問題

forEach()

它接收一個函數(shù)喉刘,每次迭代就自動回調(diào)該函數(shù)瞧柔。

var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element: 指向當前元素的值
    // index: 指向當前索引
    // array: 指向Array對象本身
    console.log(element + ', index = ' + index);
});

SetArray類似,但Set沒有索引睦裳,因此回調(diào)函數(shù)的前兩個參數(shù)都是元素本身

Map的回調(diào)函數(shù)參數(shù)依次為value造锅、keymap本身:

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市廉邑,隨后出現(xiàn)的幾起案子哥蔚,更是在濱河造成了極大的恐慌,老刑警劉巖蛛蒙,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糙箍,死亡現(xiàn)場離奇詭異,居然都是意外死亡牵祟,警方通過查閱死者的電腦和手機深夯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來课舍,“玉大人塌西,你說我怎么就攤上這事◇菸玻” “怎么了捡需?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長筹淫。 經(jīng)常有香客問我站辉,道長,這世上最難降的妖魔是什么损姜? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任饰剥,我火速辦了婚禮,結(jié)果婚禮上摧阅,老公的妹妹穿的比我還像新娘汰蓉。我一直安慰自己,他們只是感情好棒卷,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布顾孽。 她就那樣靜靜地躺著,像睡著了一般比规。 火紅的嫁衣襯著肌膚如雪若厚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天蜒什,我揣著相機與錄音测秸,去河邊找鬼。 笑死,一個胖子當著我的面吹牛霎冯,可吹牛的內(nèi)容都是我干的铃拇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼沈撞,長吁一口氣:“原來是場噩夢啊……” “哼锚贱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起关串,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤拧廊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晋修,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吧碾,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年墓卦,在試婚紗的時候發(fā)現(xiàn)自己被綠了倦春。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡落剪,死狀恐怖睁本,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忠怖,我是刑警寧澤呢堰,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站凡泣,受9級特大地震影響枉疼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鞋拟,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一骂维、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贺纲,春花似錦航闺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至稠肘,卻和暖如春福铅,著一層夾襖步出監(jiān)牢的瞬間萝毛,已是汗流浹背项阴。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人环揽。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓略荡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親歉胶。 傳聞我的和親對象是個殘疾皇子汛兜,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348