Script基礎(chǔ)-1

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
  • 高級語言最終都會(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í)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容