《JavaScript知識(shí)》從入門到放棄(一)

寫(xiě)在前面:
前兩天微信發(fā)布了應(yīng)用號(hào)瞬間刷爆了朋友圈,按照騰訊的野心這可是要整合移動(dòng)端市場(chǎng)盎ε睢彤钟!雖然很多大牛表示不看好,但是跷叉,技術(shù)嗅覺(jué)卻一定會(huì)讓他們了解學(xué)習(xí)這東西逸雹,雖然可能僅僅為了不掉隊(duì)。另外前端的這些知識(shí)也會(huì)被用在我們平時(shí)的app開(kāi)發(fā)中云挟,大廠們都已經(jīng)走在了前頭梆砸。所以前端的技術(shù)知識(shí)我也必須自行普及了。

初識(shí)javaScript

javaScript是由Brendan Eich在兩周內(nèi)寫(xiě)出來(lái)的一個(gè)可以在靜態(tài)HTML頁(yè)面上添加一些動(dòng)態(tài)效果的語(yǔ)言园欣。ECMAScript是國(guó)際標(biāo)準(zhǔn)帖世。
1.javaScript可以放在web的任何地方,不過(guò)我們通常把他放在<head></head>標(biāo)簽內(nèi)
2.也可以生成.js文件沸枯,在html中通過(guò)<script src="...js"><script/>標(biāo)簽添加日矫。

javaScript基本語(yǔ)法(筆記)
  1. 由于js的結(jié)束語(yǔ)句標(biāo)識(shí)符為;但是就是并不強(qiáng)制要求咱們必須添加,但不添加可能會(huì)出現(xiàn)某些歧義(如return)绑榴,所以一般寫(xiě)語(yǔ)句帶上;哪轿。
  2. js不注聲明數(shù)據(jù)類型,而是通過(guò)后面的賦值表示其類型翔怎。通常通過(guò)var來(lái)聲明局部變量窃诉。如果沒(méi)有var則表示為全局變量
  3. 數(shù)據(jù)類型:
  4. 數(shù)值Number:
js中不分浮點(diǎn)數(shù)和整數(shù)杨耙,所有java中的數(shù)值基本數(shù)值類型直接可用Number表示
1//整數(shù)
2.31//浮點(diǎn)數(shù)
123.456e3//科學(xué)計(jì)數(shù)法
NAN// NaN表示Not a Number,當(dāng)無(wú)法計(jì)算結(jié)果時(shí)用NaN表示
-23//負(fù)數(shù)```
 2. 字符串

js中字符串可以直接用單引號(hào)''或者雙引號(hào)""括起褐奴。
'小敏'
"小敏"
"I'm a word!"http://'此處表示一個(gè)字符
'I'm "ok"!'//同過(guò)轉(zhuǎn)義字符\即可將''""同時(shí)在字符串中表示
多行字符串直接換行即可如
'
hello
my student
'
字符串可通過(guò)length返回長(zhǎng)度
字符串是不可變的按脚,但是可以通過(guò)方法改變其表現(xiàn)形式
toUpperCase()//變成大寫(xiě)字母
toLowerCase()//變?yōu)樾?xiě)字母
indexOf()//索引
substring()//截取字符串,可指定開(kāi)始位置和結(jié)束位置敦冬,不指定則為全部```

  1. 數(shù)組
var arr = [1,2.13,true,null,'hello']//數(shù)組元素可以是任何類型
數(shù)組可以通過(guò)length返回?cái)?shù)組長(zhǎng)度(但如給arr.length賦予一新值辅搬,則會(huì)改變數(shù)組數(shù)據(jù))。
數(shù)組可以通過(guò)索引直接付新值(arr[1] = 2脖旱,但如果索引大于數(shù)組長(zhǎng)度會(huì)引起數(shù)組長(zhǎng)度變化)堪遂。
數(shù)組可以通過(guò)indexOf()方法進(jìn)行查找數(shù)組元素位置
slice()可以截取數(shù)組中的部分或全部元素并且返回一個(gè)新數(shù)組
push()和pop()在數(shù)組末尾添加或刪除數(shù)據(jù)
unshift()和shift()在數(shù)組起始處添加或刪除數(shù)據(jù)
sort()給數(shù)組排序
reverse()表示翻轉(zhuǎn)數(shù)組
splice()
修改數(shù)組的方法arr.splice(2,3,'JAVA','C#')表示在第二位起刪除3個(gè)數(shù)據(jù)后添加兩個(gè)數(shù)據(jù)
join()給數(shù)組添加鏈接符```
 4. 對(duì)象

js中的對(duì)象是一種無(wú)序的集合類型,通過(guò)鍵值對(duì)表示其key和value萌庆,鍵值對(duì)通過(guò):號(hào)連接溶褪,不同的鍵值對(duì)則通過(guò),分隔.
可以通過(guò)變量名稱.key直接訪問(wèn)value值,如果key包含特殊字符則需變量名['XXX']訪問(wèn)践险。eg(tom['old_Name'])
如果訪問(wèn)一個(gè)不存在的的鍵值對(duì)猿妈,不會(huì)報(bào)錯(cuò)只會(huì)返回undefined
如果添加,我們可以直接利用變量名添加(a.name = 'Tom')
如果刪除巍虫,我們可以直接利用delete刪除
如果查詢是否存在彭则,利用in('age' in a)返回布爾值,但注意in查詢的不一定在該對(duì)象內(nèi)占遥,也可能是繼承來(lái)的俯抖。
如果只想查詢?cè)搶?duì)象含有的屬性,可以使用hasOwnPorperty();```

  1. 循環(huán)
包括while(){},for(;;){},do{}while();三種循環(huán)瓦胎。用法簡(jiǎn)單芬萍。
for.....in
var a = ['1','2',3,true];
for(var b in a){
    alert(b);//結(jié)果為0,1搔啊,2柬祠,3,證明輸出的是它的下標(biāo)
}
for(var c of a){
  alert(c);//結(jié)果為1坯癣,2瓶盛,3,true示罗;證明結(jié)果為其值
}
  1. Map和set
Map是利用鍵值對(duì)的形式進(jìn)行存儲(chǔ)的
var map = new Map(['Meachel',20],['Tom',21]);//有參聲明
var map = new Map();//無(wú)參聲明
map.set('Tom',21);//添加惩猫,修改
map.has('Tom');//查詢
map.get('Tom');//獲取
map.delete('Tom'); //刪除
Map通過(guò)key添加value,如果相同key蚜点,后面的value會(huì)覆蓋前面的value轧房。
Set
var set = new Set([1,2,3,4]);//有參聲明
set.add(5);//添加
set.delete(3);//刪除
Set沒(méi)有key绍绘,添加相同元素會(huì)被覆蓋奶镶。數(shù)學(xué)中這也是集合的三大要義之一迟赃。
  1. Iterable
通過(guò)forEach(function())(...)是最高效的方法。
Array的function()De參數(shù)為element厂镇,index纤壁,array
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element: 指向當(dāng)前元素的值
    // index: 指向當(dāng)前索引
    // array: 指向Array對(duì)象本身
    alert(element);
});
Set的function()的參數(shù)為element,sameElement,set,并且第一第二個(gè)都指向元素;
var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
    alert(element);
});
Map的function()的參數(shù)為value,key,map
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    alert(value);
});```


#####小結(jié):
這些個(gè)學(xué)習(xí)筆記我都是在[廖雪峰的個(gè)人網(wǎng)站](http://www.liaoxuefeng.com/)上的javaScript教程學(xué)習(xí)整理的捺信,僅作學(xué)習(xí)用途酌媒。希望可以直接訪問(wèn)廖老師的個(gè)人網(wǎng)站學(xué)習(xí),打賞迄靠。
**如果您發(fā)現(xiàn)本文有所錯(cuò)漏秒咨,麻煩留言交流共同進(jìn)步**
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掌挚,隨后出現(xiàn)的幾起案子雨席,更是在濱河造成了極大的恐慌,老刑警劉巖吠式,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陡厘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡特占,警方通過(guò)查閱死者的電腦和手機(jī)雏亚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摩钙,“玉大人,你說(shuō)我怎么就攤上這事查辩∨值眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵宜岛,是天一觀的道長(zhǎng)长踊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)萍倡,這世上最難降的妖魔是什么身弊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮列敲,結(jié)果婚禮上阱佛,老公的妹妹穿的比我還像新娘。我一直安慰自己戴而,他們只是感情好凑术,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著所意,像睡著了一般淮逊。 火紅的嫁衣襯著肌膚如雪催首。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天泄鹏,我揣著相機(jī)與錄音郎任,去河邊找鬼。 笑死备籽,一個(gè)胖子當(dāng)著我的面吹牛舶治,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胶台,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼歼疮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了诈唬?” 一聲冷哼從身側(cè)響起韩脏,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铸磅,沒(méi)想到半個(gè)月后赡矢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅仔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年吹散,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片八酒。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡空民,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羞迷,到底是詐尸還是另有隱情界轩,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布衔瓮,位于F島的核電站浊猾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏热鞍。R本人自食惡果不足惜葫慎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薇宠。 院中可真熱鬧偷办,春花似錦、人聲如沸昼接。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)慢睡。三九已至逐工,卻和暖如春铡溪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泪喊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工棕硫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袒啼。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓哈扮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蚓再。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滑肉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 3,629評(píng)論 0 7
  • Javascript有很多數(shù)組的方法,有的人有W3C的API摘仅,還可以去MDN上去找靶庙,但是我覺(jué)得API上說(shuō)的不全,M...
    頑皮的雪狐七七閱讀 4,067評(píng)論 0 6
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法娃属,類相關(guān)的語(yǔ)法六荒,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法矾端,異常的語(yǔ)法掏击,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,598評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)秩铆,斷路器砚亭,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 為何經(jīng)常被對(duì)方牽著鼻子走钠惩,溝通中一步步妥協(xié),最后把產(chǎn)品改成四不像族阅。說(shuō)好的原則呢? 各種各樣的需求迎面而來(lái)膝捞,在抉擇溝...
    Allin_閱讀 431評(píng)論 1 2