1.計(jì)算機(jī)常識
-
計(jì)算機(jī)只能識別【0和1】
- 比如:開關(guān)機(jī)指令
- 顯示一段文本
- 顯示一張圖片
計(jì)算機(jī)所有能識別的指令都是由0和1組成的
計(jì)算機(jī)中存儲(chǔ)和操作的數(shù)據(jù)都是由0和1組成的
-
2.計(jì)算機(jī)語言
- 機(jī)器語言
- 所有的代碼里面只有0和1,0表示不加電,1表示加電
- 優(yōu)點(diǎn):直接對硬件產(chǎn)生作用,程序執(zhí)行效率非常高
- 缺點(diǎn):指令有多又難記、可讀性差、無可移植性
- 匯編語言
- 符號化的機(jī)器語言,用一個(gè)符號(英文單詞、數(shù)字)來代表一條機(jī)器指令
- 優(yōu)點(diǎn):直接對硬件產(chǎn)生作用,程序的執(zhí)行效率非常高、可讀性“稍好”
- 高級語言
- 非常接近自然語言,語法和結(jié)構(gòu)類似于普通英語
- 優(yōu)點(diǎn):簡單、易懂、易于理解、遠(yuǎn)離對硬件的直接操作、有可移植性
- 缺點(diǎn):有些高級語言寫出的程序執(zhí)行效率并不高
- 對比(利用3種類型語言編寫1+1)
- 機(jī)器語言
- 10111000 00000001 00000000 00000101 00000001 00000000
- 匯編語言
- MOV AX,1ADD AX,1
- 高級語言
- 1 + 1
- 機(jī)器語言
- 高級語言最終都會(huì)翻譯成機(jī)器語言【0和1】,以便于計(jì)算器執(zhí)行
3.JavaScript簡單了解
- JavaScript是高級語言
- JavaScript是編程語言、是一門弱語言
- 作用:主要作用就是用來實(shí)現(xiàn)網(wǎng)頁中的各種功能,以及制作酷炫的網(wǎng)頁特效
- 本質(zhì)都是控制網(wǎng)頁中的html和CSS來完成的
- 比如:輪播圖、鼠標(biāo)移動(dòng)到某個(gè)位置出現(xiàn)動(dòng)畫等效果
- Tab選項(xiàng)卡
- 表單驗(yàn)證
4.發(fā)展史
- 布蘭登·艾奇(Brendan Eich,1961年~),1995年在網(wǎng)景公司,發(fā)明的JavaScript。
- 一開始叫做LiveScript,后來改名為JavaScript。
- 很多人問它和java是什么關(guān)系?
- 如同“雷鋒”和“雷峰塔”的關(guān)系。
- “北大”和“北大青鳥”的關(guān)系。
- “周杰”和“周杰倫”的關(guān)系
- 同時(shí)期還有其他的網(wǎng)頁語言,比如VBScript、JScript等等,但是后來都被JavaScript打敗,所以現(xiàn)在的瀏覽器中,只運(yùn)行一種腳本語言就是JavaScript。
5.JavaScript的標(biāo)準(zhǔn)
- 首先一門語言問什么有標(biāo)準(zhǔn)?不指定標(biāo)準(zhǔn)會(huì)怎么樣?
- 拿B語言為例:
- long long ago,有一門語言叫【B語言】,在當(dāng)時(shí)很火、很牛逼,然而因?yàn)闆]有制定標(biāo)準(zhǔn):不同的公司為了滿足自己的應(yīng)用,對B語言進(jìn)行改造、重寫;導(dǎo)致B語言后來無法統(tǒng)一,最后走向了落寞,直至死亡。
- 后來又出現(xiàn)了【C語言】,為了重蹈【B語言】覆轍,美國國家標(biāo)準(zhǔn)局(ANSI)成立了一個(gè)委員會(huì),專門制定了【C語言】的標(biāo)準(zhǔn):比如“C89、C99”等等……
- 【C語言才有我們今天的發(fā)展和用處】
- 那么javaScript的標(biāo)準(zhǔn)是由誰來指定的呢?
- European Computer Manufacturers Association。簡稱【ECMA】,翻譯為【歐洲計(jì)算機(jī)制造商協(xié)會(huì)】。
- 總結(jié):JavaScript是由公司開發(fā)而成的,歐洲的這個(gè)ECMA的組織,制定了JavaScript的標(biāo)準(zhǔn),取名為ECMAScript。
- 補(bǔ)充:簡單來說ECMAScript不是一門語言,而是一個(gè)標(biāo)準(zhǔn)。
6.JavaScript的【發(fā)展歷程】
- 前些年之前,JavaScript被認(rèn)為“牛皮鮮”,用來制作頁面上的廣告,彈窗、漂浮的廣告。就是JavaScript開發(fā)的。以至于瀏覽器就推出了屏蔽廣告功能。
- 2004年JavaScript命運(yùn)開始改變了,那一年谷歌公司,開始帶頭使用Ajax技術(shù)了,Ajax技術(shù)就是JavaScript的一個(gè)應(yīng)用。并且,那時(shí)候人們逐漸開始提升用戶體驗(yàn)了。
- 2007年喬布斯發(fā)布了iPhone,這一年開始,用戶就多了上網(wǎng)的途徑,就是用移動(dòng)設(shè)備上網(wǎng)。JavaScript在移動(dòng)頁面中,也是不可或缺的。并且這一年,互聯(lián)網(wǎng)開始標(biāo)準(zhǔn)化,按照W3C規(guī)則三層分離,人們越來越重視JavaScript了。
- 2010年的時(shí)候,HTML5推出Canvas(畫布),工程師可以在Canvas上進(jìn)行游戲制作,利用的就是JavaScript。
- 2011年,Node.js誕生,使JavaScript能夠開發(fā)服務(wù)器程序了。
- 總而言之:應(yīng)用越來越廣泛,前景越來越牛逼?!颈辉u為對初學(xué)者最友好的語言】;
如何來學(xué)習(xí)一門編程語言?
一:先學(xué)習(xí)基礎(chǔ)語法
- 死記硬背,沒有為什么!都是ECMA規(guī)定的。
- 比如定義一個(gè)變量【var a = 99】
- 聲明一個(gè)函數(shù)【function 函數(shù)名稱(){}】
- 標(biāo)識符的命名規(guī)范:【必須由字母、數(shù)字、下環(huán)線和$組成】
一句話【烏龜?shù)钠ü伞耙?guī)定”】就是【背】
二:在學(xué)習(xí)基本思想
- 比如:
- 【計(jì)數(shù)器思想】
- 【累加思想】
- 【排他思想】
- 【選擇排序】
- 【冒泡排序】
- 【折半查找】
- 【節(jié)流思想】
- 這些思想多數(shù)都是長期開發(fā)中,程序員找出的規(guī)律,利用這種規(guī)律能更快速的解決一系列【相似】的問題
- 通過不斷的敲代碼,在平時(shí)學(xué)習(xí)和以后的工作中不斷積累,遇到的問題多,解決問題的能力就越強(qiáng)【只有時(shí)間才能成就大神】。。。
學(xué)習(xí)一門編程語言的基本順序
<a href="#one">第一:標(biāo)識符 </a>##
<a href="#two">第二:常量</a>
<a href="#three">第三:變量</a>
<a href="#four">第四:運(yùn)算符</a>
<a href="#five">第五:數(shù)據(jù)類型</a>
流程控制結(jié)構(gòu)
<a href="#seven">第六:流程控制結(jié)構(gòu)之【選擇結(jié)構(gòu)】</a>
<a href="#eight">第七:流程控制結(jié)構(gòu)之【循環(huán)結(jié)構(gòu)】</a>
<a href="#nine">第八:函數(shù)</a>##
<a href="#ten">第九:變量的作用域</a>##
<h2 id="one">標(biāo)識符</h2>
1.什么是標(biāo)識符?
-
現(xiàn)實(shí)生活中的標(biāo)識符
-
2.什么是程序中的標(biāo)識符?
- 就是程序員為了標(biāo)識某個(gè)【變量、函數(shù)、標(biāo)簽】而給他們做標(biāo)記時(shí)候起的“名字”:就是標(biāo)識符
-
3.標(biāo)識符的作用?
- 跟人類的名字差不多,為了區(qū)分每個(gè)人,就在每個(gè)出生的時(shí)候起了個(gè)名字
- 我們在學(xué)習(xí)選擇器中的class選擇器或者id選擇器的時(shí)候,給標(biāo)簽的class或者id起名子一樣.
- 比如
<p class="one" id="param"></p>
-
4.標(biāo)識符命名規(guī)則【死記硬背】
- 1.只能由26個(gè)英文字母的大小寫、10個(gè)阿拉伯?dāng)?shù)字(0~9)、下滑線和$符號組成
- 2.嚴(yán)格區(qū)分大小寫:比如: a和 A是兩個(gè)不同的標(biāo)識符
- 3.不能以數(shù)字開頭
- 4.不能和關(guān)鍵字相同
- 5.不能是ECMAScript保留字(abstract boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、i、port、intnterface、long、native、package、private、protected、public、short、static、super、synchronized、throws、t、ansient、volatile)
練習(xí):一下那些不符合標(biāo)識符的命名規(guī)則
<font size="6px">abc123</font>
<font size="6px">c123</font>
<font size="6px">123name</font>
<font size="6px">c.123</font>
<font size="6px">no</font>
<font size="6px">_</font>
<font size="6px">_123</font>
<font size="6px">c_1888</font>
<font size="6px">a*123</font>
<font size="6px">c#123</font>
<font size="6px">$</font>
<font size="6px">class</font>
<font size="6px">goto</font>
<font size="6px">long</font>
- 5.標(biāo)識符的命名規(guī)范
- 比如:人出生的時(shí)候【狗蛋、狗剩、二狗】
- 起一個(gè)有意義的名字,能夠提高代碼的可讀性.
- 表示年齡:age;表示姓名:name;表示數(shù)字number;
- 多個(gè)單詞遵循【駝峰命名法】
-
什么是駝峰?就是一種比喻:
- userName;passWorld;sendMessege......
- 規(guī)則:除第一個(gè)單詞外,其他的單詞首字母都大寫
<h2 id="two">常量</h2>
- 什么是常量?
- 表示一些固定的數(shù)據(jù),也就是不能改變的數(shù)據(jù)
- 比如:1、2、3、4、56、77、88......
- 開發(fā)中的常量:
- 手機(jī)的型號
- 手機(jī)屏幕的寬高
- 同一臺電腦的分辨率
- 用戶實(shí)名認(rèn)證的身份證號......
- 就是一些固定不變的量
<h2 id="three">變量</h2>
- 什么是變量?
- 表示的數(shù)據(jù)是可以經(jīng)常修改的,當(dāng)一個(gè)數(shù)據(jù)的值需要經(jīng)常改變或者不確定時(shí),就應(yīng)該用變量來表示.
- 比如:【游戲的積分】【人的年齡】
- 作用:就是用來【存儲(chǔ)數(shù)據(jù)的】
- 如何在js中聲明一個(gè)變量?【掌握】
- 使用 var 關(guān)鍵詞來聲明變量(該變量是空的【它沒有值】)如需向變量賦值,請使用等號)【稱之為:先定義后初始化】
- 也可以在聲明變量時(shí)對其賦值【稱之為:定義的同時(shí)進(jìn)行初始化】
- 一條語句聲明多個(gè)變量 【var name="longGe", age=27, job="CEO";】
- 注意點(diǎn):
- 1.只聲明未定義的變量值為:undefined【只需要知道它是一個(gè)數(shù)據(jù)類型即可】
- 2.變量里面永遠(yuǎn)只能保存一個(gè)值【后一個(gè)會(huì)把前一個(gè)覆蓋掉】;
<h2 id="four">運(yùn)算符</h2>
1.算數(shù)運(yùn)算符
- 概念:算術(shù)運(yùn)算符用于執(zhí)行變量或值之間的算術(shù)運(yùn)算
- 算數(shù)運(yùn)算符有:【+】【-】【*】【/】【%(求余數(shù):保留整數(shù))】【++】【--】
2.賦值運(yùn)算符
- 概念:賦值運(yùn)算符用于給js變量賦值
- 賦值運(yùn)算符有:【=】【+=】【-=】【*=】【/=】【%=】
3.關(guān)系運(yùn)算符(比較運(yùn)算符)
- 概念:測定變量或值是否相等,或者誰大誰小。
- <h2>其結(jié)果只有兩個(gè)false和true</h2>
- 關(guān)系運(yùn)算符有:【==】【===】【!=】【>】【<】【>=】【<=】
4.邏輯運(yùn)算符
- 概念:邏輯運(yùn)算符用于測定變量或值之間的邏輯。
- 邏輯運(yùn)算符有:【&&】【||】【!】
- 邏輯運(yùn)算符號短路現(xiàn)象
5.三目運(yùn)算符(三元運(yùn)算符)
- 作用:一般用于給變量賦值
- 舉例: c = a > b ? 88 : 99
- 口訣(口訣a大于b嗎?如果大于等于88、否則等于99)
<h2 id="five">五大數(shù)據(jù)類型</h2>
- 1.數(shù)值型
- 比如:2,8,99,34.8,66.662......都是數(shù)值型
- 2.字符串類型
- 可以理解為【單引號或者雙引號引起來的就是字符串】
- 其他語言中【單引號的代表字符,而在js中沒有字符這一概念,所有單引號和雙引號都是代表字符串】
- 比如"jack" 'rose' "name" '張三' "李四"
- 3.布爾類型
- 取值只有兩個(gè):false 和 true
- 4.null【先了解】
- 一般由于清空對象
- 5.udefined
- 只定義未賦值的變量其值為【undefined】
- 6.如何判斷一個(gè)數(shù)據(jù)是什么類型?
- typeof函數(shù)

示例

示例
數(shù)據(jù)類型轉(zhuǎn)換
- 1.prompt()函數(shù)的使用(接收用戶的輸入)
- 注意點(diǎn):無論用戶輸入的是什么,返回的都是字符串類型。
- 2.字符串轉(zhuǎn)換成數(shù)值型:
- parseInt()函數(shù)
- parseFloat()函數(shù)
- 3.彈出警告框
- alert()函數(shù)
- 練習(xí):利用三目運(yùn)算符,求出用戶輸入的三個(gè)整數(shù),利用alert函數(shù),彈出最大值

練習(xí)





