新生大學(xué)JavaScript編程入門學(xué)習(xí)筆記之二

一、課程回顧

番外篇:Github靜態(tài)網(wǎng)頁(yè)搭建方法。

【理論講解】

在信息技術(shù)高速發(fā)展的現(xiàn)在乐导,我們可以這樣理解,對(duì)人類來說的所有的信息都是對(duì)計(jì)算機(jī)來說的數(shù)據(jù)浸颓,因此可以想象物臂,計(jì)算機(jī)可以涵蓋的數(shù)據(jù)的多樣化、豐富化产上。

一切從命名開始

以人名舉例講解:

我們對(duì)于一個(gè)人的概念棵磷,可以說是一堆屬性和關(guān)系的集合。包括:姓名晋涣、身高仪媒、體重、年齡……

先取名再生小孩——把名字和小孩關(guān)聯(lián)上

用名字來操縱人——小明谢鹊,快去寫作業(yè)算吩。

從姓名開始思考——豐富的屬性、多樣關(guān)系

名字和目標(biāo)——小明是一個(gè)具體的人佃扼,目標(biāo)是一堆屬性偎巢、關(guān)系等。

關(guān)聯(lián)名字和目標(biāo)——小明不等于一個(gè)具體的人松嘶,“小明”這個(gè)名字艘狭,只是一組數(shù)據(jù)的集合。

各種描述遞進(jìn):用格式化方式翠订、符號(hào)化方式巢音、偽代碼方式描述“小明”,越來越接近代碼的呈現(xiàn)尽超」俸常——能看懂偽代碼了就能看懂代碼了

我們是如何識(shí)別人的?——記住一個(gè)人的名字與其屬性似谁、關(guān)系的對(duì)應(yīng)信息傲绣。

程序的目標(biāo)地是什么?——“處理數(shù)據(jù)巩踏、得到結(jié)果”

首先需要對(duì)數(shù)據(jù)進(jìn)行命名(一切從命名開始):

與C秃诵、Java等其他編程語(yǔ)言不同,JavaScript里所有數(shù)據(jù)塞琼,不區(qū)分類型菠净,都用“var”表示

語(yǔ)句:var output = “Hello, JS”

代表:1..聲明:var output;2.定義:output = “Hello, JS”

即:聲明這個(gè)變量,變量名output毅往,再定義這個(gè)變量牵咙,給這個(gè)變量賦值。

內(nèi)行話——“先聲明再定義”

命名方式:常用駝峰命名法攀唯,(還有帶下劃線的洁桌,具體內(nèi)容自己了解)

學(xué)習(xí)補(bǔ)充:變量常用小駝峰法,類名侯嘀、空間名等常用大駝峰法另凌。

【實(shí)操部分】

分別在瀏覽器和Node環(huán)境運(yùn)行樣例,嘗試修改內(nèi)容残拐,觀察顯示效果途茫,對(duì)運(yùn)行環(huán)境有初步感受。

【心法記錄】

1溪食、本課程重點(diǎn)是編程思想的講解

2囊卜、代碼不重要,掌握理解問題错沃、解決問題的方法最重要栅组。

3、一切從命名開始——體會(huì):對(duì)于一個(gè)新的要表達(dá)枢析、運(yùn)用的信息或數(shù)據(jù)玉掸,名字起得好一定程度上代表思路、概念清晰醒叁。

4司浪、學(xué)會(huì)、擅用畫圖的方法來進(jìn)行思考把沼。

二啊易、課程作業(yè)

【第二次作業(yè)】——變量和值

昨天我?guī)湍銈兪崂砹俗兞亢椭抵g的關(guān)系。下面梳理一些知識(shí)點(diǎn)供大家參考饮睬,好好利用周末的時(shí)間把這塊啃下來租谈。

1.多樣化的數(shù)據(jù)格式(數(shù)字、文本捆愁、布爾槐臀、對(duì)象荠列、數(shù)組)

2.多樣化的數(shù)據(jù)格式的操作方式软驰。

以上內(nèi)容網(wǎng)上有很多教程簿废,如果你想買書,我推薦“JavaScript權(quán)威指南—淘寶前端團(tuán)隊(duì)翻譯的那本”

作業(yè)要求-1.熟讀getting-started-with-javascript/study/lesson2/smaple_code.js代碼菩帝。用node環(huán)境和瀏覽器環(huán)境運(yùn)行一下代碼(注意:瀏覽器運(yùn)行請(qǐng)使用my_personal_info_page.html)

Node運(yùn)行環(huán)境截圖
瀏覽器運(yùn)行環(huán)境截圖

作業(yè)要求-2.寫一篇課程總結(jié)咖城,題目為:編程中為什么會(huì)有豐富化的數(shù)據(jù)格式憔足?(我可能跑題了)

我的作業(yè)

在信息化社會(huì),數(shù)據(jù)幾乎無(wú)所不包酒繁,所有可以想象到的信息都可以用數(shù)據(jù)來記錄、存儲(chǔ)控妻。在快速更替的時(shí)代州袒,我們希望有更高效、高質(zhì)的工作弓候、學(xué)習(xí)以及生活郎哭,豐富多樣的實(shí)用軟件、精準(zhǔn)高效的數(shù)據(jù)分析處理工具都再發(fā)揮著越來越重要的作用菇存。

如此紛繁的數(shù)據(jù)交給計(jì)算機(jī)來處理夸研,需要有規(guī)范的數(shù)據(jù)格式,即數(shù)據(jù)類型依鸥,以便處理能力更有的放矢亥至、更高效。

一.大類

在JavaScript中數(shù)據(jù)類型分為兩類:1.原始類型贱迟、2.對(duì)象類型姐扮。

原始類型:包括數(shù)字、字符串衣吠、布爾值茶敏。

有兩個(gè)特殊的原始值:null(空)、undefined(未定義)缚俏。

對(duì)象類型:對(duì)象(object)惊搏,數(shù)組(array)是一種特殊對(duì)象,函數(shù)是另一種特殊對(duì)象忧换。

二.具體說說:

1.原始類型:

1-1.?dāng)?shù)字:

1-1-1. JavaScript的數(shù)字均采用IEEE 754標(biāo)準(zhǔn)定義的64位浮點(diǎn)格式表示恬惯,不區(qū)分整數(shù)值和浮點(diǎn)數(shù)值(與C和Java等不同),需要注意的是:JavaScript的實(shí)際操作包雀,整數(shù)是基于32位整數(shù)宿崭。

1-1-2. JS程序中直接出現(xiàn)的數(shù)字稱為數(shù)字直接量(numeric literal),包括整型直接量才写、浮點(diǎn)型直接量葡兑。

1-1-2-1. 整型直接量:包括十進(jìn)制整型直接量、十六進(jìn)制整型直接量赞草。某些JS的實(shí)現(xiàn)支持八進(jìn)制整型直接量讹堤,但不保證通用,因此一般不要使用八進(jìn)制整型直接量厨疙。

1-1-2-2. 浮點(diǎn)型直接量:包括傳統(tǒng)實(shí)數(shù)寫法洲守,例如:3.14、1.789;指數(shù)記數(shù)法梗醇,例如:6.02e23知允、2.987653E-32。浮點(diǎn)型直接量語(yǔ)法表示為:[digits][.digits][(E|e)[(+|-)]digits]

1-1-3. JS的算術(shù)運(yùn)算:

1-1-3-1. 基本運(yùn)算符包括加(+)叙谨、減(-)温鸽、乘(*)、除(/)和求余(%)

1-1-3-2. 復(fù)雜的算術(shù)運(yùn)算:通過Math對(duì)象的屬性定義的函數(shù)和常量來實(shí)現(xiàn)手负,例如:Math.pow(2,3) ->8涤垫,2的3次冪;Math.ceil(.6)->1竟终,向上求整蝠猬;Math.floor(.6) ->0,向下求整统捶。

1-1-4. JS的算術(shù)運(yùn)算在溢出(overflow)榆芦、下溢(underflow)或被零整除時(shí)不會(huì)報(bào)錯(cuò)。

1-1-4-1. 溢出(overflow):即當(dāng)數(shù)字運(yùn)算結(jié)果超過了JS所能表示的數(shù)字上限瘾境,正數(shù)時(shí)以無(wú)窮大(Infinity)表示歧杏、負(fù)數(shù)時(shí)以負(fù)無(wú)窮大(-Infinity)表示。

1-1-4-2. 下溢(underflow):即當(dāng)運(yùn)算結(jié)果無(wú)限接近于零并比JS能表示的最小值還小迷守,此時(shí)JS會(huì)返回0犬绒。還有個(gè)“負(fù)零”概念,一般可忽略兑凿。

1-1-4-3. 被0整除凯力,返回?zé)o窮大(Infinity)或負(fù)無(wú)窮大(-Infinity),0除以0礼华、無(wú)窮大除以無(wú)窮大咐鹤、給負(fù)數(shù)作開方或算術(shù)運(yùn)算符與不是數(shù)字或無(wú)法轉(zhuǎn)換為數(shù)字的操作數(shù)一起使用時(shí),都將返回非數(shù)字圣絮,表示為NaN(not-a-number)祈惶。

? NaN有一點(diǎn)特殊:它和任何值都不相等,包括自身扮匠。x==NaN不能表示x是NaN捧请,可通過x!=x判斷,當(dāng)且僅當(dāng)x為NaN時(shí)棒搜,x!=x為true疹蛉。

1-1-5. 二進(jìn)制浮點(diǎn)數(shù)和四舍五入錯(cuò)誤

在JS的數(shù)值范圍內(nèi),浮點(diǎn)數(shù)只能表示有限個(gè)數(shù)實(shí)數(shù)力麸,而不是一般理解的無(wú)數(shù)個(gè)可款,會(huì)有些真實(shí)值只能近似表示育韩。這是由于浮點(diǎn)數(shù)表示法是二進(jìn)制表示法引起,只能精確的表示2的次方分之一的值闺鲸,如:1/8筋讨、1/1024,而我們常會(huì)使用十進(jìn)制分?jǐn)?shù)摸恍,如:1/10版仔、1/1000,二進(jìn)制浮點(diǎn)數(shù)無(wú)法精確表示類似0.1這樣簡(jiǎn)單的數(shù)字误墓。會(huì)造成運(yùn)算的尷尬,如0.3-0.2并不等于0.2-0.1益缎。

這不是JS中才會(huì)出現(xiàn)谜慌,好在精確值非常精確,一般任務(wù)都能勝任莺奔,只有在比較兩個(gè)數(shù)大小事才會(huì)遇到欣范。以后的版本或許會(huì)針對(duì)此做改進(jìn)。如涉及重要金融計(jì)算令哟,建議使用“分”而不是“元”作單位恼琼。

1-1-6. 日期和時(shí)間的表示:JS語(yǔ)言包括Date()構(gòu)造函數(shù),可以創(chuàng)建包括年月日時(shí)分秒的對(duì)象屏富,進(jìn)行日期晴竞、時(shí)間的特定值提取、使用狠半,有些特殊規(guī)范噩死,比如月份從0開始。

1-2. 字符串:

1-3. 布爾值:boolean神年,指代真或假已维、開或關(guān)、是或否已日,類型值只有兩個(gè):true和false垛耳。用于編程語(yǔ)言的控制結(jié)構(gòu)。通常與比較語(yǔ)句結(jié)合使用飘千,舉例:

If(a==4)

b=b+1;

else

a=a+1;

這段代碼判斷a是否等于4堂鲜,等于時(shí),b加1占婉;不等于時(shí)泡嘴,a加1。

關(guān)于轉(zhuǎn)換:任意JavaScript的值都可以轉(zhuǎn)換為布爾值逆济,其中undefined酌予、null磺箕、0、-0抛虫、NaN松靡、“”(空字符)六個(gè)會(huì)轉(zhuǎn)換為false(有稱“假值”(falsy value)),其他值均會(huì)轉(zhuǎn)換為true(有稱“真值”(truthy value))建椰。

布爾值支持三個(gè)布爾運(yùn)算符雕欺、一個(gè)方法:”&&”(AND)、”||”(OR)棉姐、”!”(NOT) 以及toString()

2.兩個(gè)特殊的原始值:null(空)屠列、undefined(未定義)。它們不是數(shù)字伞矩、字符串笛洛、布爾值這些原始類型,通常代表了各自特殊類型的唯一的成員乃坤。它們都不包含任何屬性和方法苛让。

3. 對(duì)象類型:對(duì)象(object),數(shù)組(array)是一種特殊對(duì)象湿诊,函數(shù)是另一種特殊對(duì)象

3-1.對(duì)象(object):(還需學(xué)習(xí)理解狱杰、補(bǔ)充)

3-2.數(shù)組(array):是值的有序集合。每個(gè)值叫做一個(gè)元素厅须,每個(gè)元素在數(shù)組中有一個(gè)位置索引數(shù)仿畸。數(shù)組元素可以是任意類型,也不一定是常量朗和。數(shù)組能夠表達(dá)不同類型的組合信息颁湖,比如一個(gè)人的相關(guān)信息等。

3-2-1.創(chuàng)建數(shù)組:

(1)數(shù)組直接量:

沒有元素的數(shù)組:var empty=[];

有3個(gè)元素的數(shù)組:var array1=[1,2,3];

3個(gè)不同類型的元素和結(jié)尾的逗號(hào):var array2=[1,“a”,true,](數(shù)組直接量語(yǔ)法允許有可選的結(jié)尾的逗號(hào)例隆,所以是三個(gè)元素而非四個(gè))

(2)調(diào)用構(gòu)造函數(shù)Array():

沒有任何元素的空數(shù)組:var a = new Array()

指定長(zhǎng)度作為參數(shù):var a = new Array(10)——沒有存儲(chǔ)值及索引甥捺,預(yù)分配了一個(gè)數(shù)組空間。

顯式指定方式:var a = new Array(5,4,3,“test”)镀层;——這種方式不如使用數(shù)組直接量镰禾。

3-2-2.數(shù)組方法包括:join()、reverse()唱逢、sort()吴侦、concat()、slice()坞古、splice()备韧、push()和pop()、unshift()和shift()痪枫、toString()和toLocaleString()织堂,前面這些是ECMAScript3中的方法叠艳,在ECMAScript5中還有forEach()、map()易阳、filter()附较、every()和some()、reduce()和reduceRight()潦俺、indexOf()和lastIndexOf()

(還需在使用中逐漸深入理解)

作業(yè)要求-3. 如果有問題拒课,在總結(jié)中把你的問題羅列出來,我會(huì)做解答事示。

遇到的問題

1早像、 瀏覽器運(yùn)行代碼發(fā)現(xiàn)的情況:

當(dāng)打開my_personal_info_page.html頁(yè)面后,同一部分內(nèi)容肖爵,并未修改這部分代碼扎酷,刷新前后顯示效果不同。


圖一

修改代碼后直接點(diǎn)擊瀏覽器的刷新后“console”頁(yè)顯示:(后來試過不做任何代碼修改遏匆,直接刷新也會(huì)這樣)

圖二

想知道這是什么情況?


2谁榜、更新Fork項(xiàng)目時(shí)報(bào)錯(cuò):

需要更新老師的項(xiàng)目?jī)?nèi)容幅聘,從網(wǎng)上搜索到方法介紹(原文鏈接地址),文中介紹了網(wǎng)站和終端兩種方法窃植。

先使用的終端方法帝蒿,結(jié)果失敗了,最后一步提示報(bào)錯(cuò)巷怜,后來使用了網(wǎng)站操作方式葛超,很順利,更新成功延塑。

終端報(bào)錯(cuò)如下圖绣张,請(qǐng)老師幫忙分析下網(wǎng)站能成功、終端不成功是什么原因关带?謝謝~侥涵!

圖三

3.關(guān)于Date()函數(shù),嘗試執(zhí)行var now = new Date()宋雏,得到的返回值時(shí)間是晚于我們8小時(shí)的時(shí)間芜飘?

圖四

4.另外想問,能不能推薦個(gè)MAC用的保存網(wǎng)頁(yè)(好幾屏)為圖片的好辦法磨总?用chrome能不能實(shí)現(xiàn)嗦明?

【附加作業(yè)要求】

1.在github上部署自己的靜態(tài)網(wǎng)頁(yè),把網(wǎng)頁(yè)地址放在總結(jié)文檔里蚪燕。

在github上部署的靜態(tài)網(wǎng)頁(yè):https://fanmilir.github.io/MyPage/

【作業(yè)提交方式】

1.請(qǐng)向getting-started-with-javascript項(xiàng)目發(fā)起pull request娶牌。

https://github.com/xugy0926/getting-started-with-javascript

2.文檔格式奔浅,markdown。

3.提交homework/lesson2目錄下裙戏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乘凸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子累榜,更是在濱河造成了極大的恐慌营勤,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壹罚,死亡現(xiàn)場(chǎng)離奇詭異葛作,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)猖凛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門赂蠢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辨泳,你說我怎么就攤上這事虱岂。” “怎么了菠红?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵第岖,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我试溯,道長(zhǎng)蔑滓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任遇绞,我火速辦了婚禮键袱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摹闽。我一直安慰自己蹄咖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布付鹿。 她就那樣靜靜地躺著比藻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪倘屹。 梳的紋絲不亂的頭發(fā)上银亲,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音纽匙,去河邊找鬼务蝠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烛缔,可吹牛的內(nèi)容都是我干的馏段。 我是一名探鬼主播轩拨,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼院喜!你這毒婦竟也來了亡蓉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤喷舀,失蹤者是張志新(化名)和其女友劉穎砍濒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硫麻,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爸邢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拿愧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杠河。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖浇辜,靈堂內(nèi)的尸體忽然破棺而出券敌,到底是詐尸還是另有隱情,我是刑警寧澤柳洋,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布待诅,位于F島的核電站,受9級(jí)特大地震影響膳灶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜立由,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一轧钓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锐膜,春花似錦毕箍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荷逞,卻和暖如春媒咳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背种远。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工涩澡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坠敷。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓妙同,卻偏偏與公主長(zhǎng)得像射富,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子粥帚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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