JavaScript基礎_1__第十二天

請各位讀者添加一下作者的微信公眾號,以后有新的文章,將在微信公眾號直接推送給各位,非常感謝。


如果您覺得這篇文章還不錯,可以去H5專題中查看更多相關文章。

Javascript基礎

首先說聲抱歉。今日涉及內容難易度不統一,所以很多比較基礎的屬性直接通過思維導圖展示了。

同時需要注意,今日思維導圖中的內容和筆記中并不是一一對應的,請讀者自行對照查看。

對您造成的困擾,萬分抱歉。


這里寫圖片描述

今日課程預覽

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

1. JS 介紹

js(javascript)java沒有任何關系,只不過名稱看起來有些相同;

netScape-網景公司

這里可以了解一下網景公司的興衰史,同時也可以了解第一代瀏覽器的故事,大家可以了解一下“瀏覽器大戰”。

首先大家在學習前要明白幾點。

JavaScript 是腳本語言

JavaScript 是一種輕量級的編程語言。

JavaScript 是可插入 HTML 頁面的編程代碼。

JavaScript 插入 HTML 頁面后,可由所有的現代瀏覽器執行。

注意:

HTML 中的腳本必須位于 <script> 與 </script> 標簽之間。

腳本可被放置在 HTML 頁面的 <body> 和 <head> 部分中。

<script> 標簽

如需在 HTML 頁面中插入 JavaScript,請使用 <script> 標簽。

<script></script> 會告訴 JavaScript 在何處開始和結束。

JS的組成:(此處請參考思維導圖中內容)

  • ECMAScript
  • 文檔對象模型(DOM)
  • 瀏覽器對象模型(BOM)

JS的特點:

  • 弱類型的變量類型
  • 事件驅動
  • 跨平臺

那我們學習 JS 能夠做什么?

  • 寫入 HTML 輸出
  • 對事件作出反應
  • 改變 HTML 內容
  • 改變 HTML 圖像
  • 改變 HTML 樣式
  • 驗證輸入

2. JS事件和函數的使用

通常,我們需要在某個事件發生時執行代碼,比如當用戶點擊按鈕時。

如果我們把 JavaScript 代碼放入函數中,就可以在事件發生時調用該函數。

同時我們也可以將<head><body> 中的 JavaScript放在 HTML 文檔中,并且我們的放入的腳本是不限量的。

腳本可位于 HTML 的 <body><head> 部分中,或者同時存在于兩個部分中。

通常的做法是把函數放入 <head>部分中,或者放在頁面底部。

這樣就可以把它們安置到同一處位置,不會干擾頁面的內容。

注意:

提示:我們把 JavaScript 放到了頁面代碼的底部,這樣就可以確保在 <p> 元素創建之后再執行腳本。

可以把腳本保存到外部文件中。外部文件通常包含被多個網頁使用的代碼。

外部 JavaScript 文件的文件擴展名是 .js。

如需使用外部文件,請在 <script> 標簽的 "src" 屬性中設置該 .js 文件。

<script src="myScript.js"></script>

<head><body> 中引用腳本文件都是可以的。

實際運行效果與您在 <script> 標簽中編寫腳本完全一致。但是需要注意,外部腳本不能包含 <script> 標簽。

3. JS引入方式

3.1 頭部引入(內部)

<script type="text/javascript">
//內容部分
</script>

例如:

<script type="text/javascript">
//警告   alert()語句 添加一條警告
    alert('網絡錯誤!');
</script>

顯示效果如下圖所示:

3.2 頭部引入js文件(外部)

首先,你需要創建一個目錄文件夾例如為js,然后再這個文件夾中創建一個一個后綴為.js的一個js文件,

例如叫做index.js;

index.js中:

alert("網絡錯誤!");

然后在index.html文件中引入外部的js文件來使用;

    <!--第二種方式:引入js文件 外部引入 src是js文件的路徑-->
   <script src="js/index.js" type="text/javascript">
    
   </script>

顯示效果和第一種方式也是一樣:

4. js的變量、js的數據類型

對于接下來要學習的js的變量以及js的數據類型,對有C語言基礎的朋友們來說,是非常簡單的,非常相似!

變量的定義:變量相當于一個容器,是用來存儲數據的。

4.1 變量命名規范:

  • 首字母不能是數字
  • 首字母只能是 $ 或者下劃線
  • 不能用中文
  • 多個單詞使用駝峰命名法;從第二個單詞開始首字母大寫
  • 要有語義 見名知義
  • 不要使用關鍵字或者保留字,防止和系統重名
    var a = 5;//number  數據類型
    var b = 10;
    var str = "15";//字符串類型(string)
    
    alert(a+b);
    
    alert(a+str);//如果一個number類型加上一個字符串類型,則拼接,結果515
    
    var c = a + str;
        
    alert(c);         //+號的功能:1.數學運算 2.字符串連接
    
    var d = a - str;  //-號的功能:1.數學運算
    
    alert(d);

總結:

變量:它是一個容器,都以var來定義變量,數據類型是由它的值來決定的,

例如:var a = 5,所以,變量a的數據類型是number;var b = "15",則b是字符串類(string);

還有一種特殊的情況就是"+"號的作用:

+號的功能:1.數學運算 2.字符串連接;這就是為什么上面代碼中的alert(a+str);

警告的結果為515的原因,另外alert()語句的作用只是為了驗證結果的,沒有什么實質性的意義;

4.2 布爾類型 bool

    var bo1 = true;//布爾類型 結果true和false
    
    //typeof()獲取變量的數據類型,(在不知道變量類型的情況下,也可以通過ypeof()獲取)
    
    alert(typeof(bo1));

4.3 拓展 undefined類型

    //如果我們不給某個變量設置值,則為undefined類型;

    var color;
    
    alert(typeof color);

4.4 if語句

 //if語句 
 //判斷語句    == 判斷是否相等,
 //              > 大于
 //              < 小于
 //              >= 大于或者等于
 //              <= 小于或者等于
 //              != 不等于
 //              === 全等于;
 
    var a = 5;//number 數據類型
    var b = 10;
    var c = "5";
    if (a == b) {
        alert("a等于b");
    } else{
        alert("a不等于b");
    }
    
//== 只考慮值是否成立,不考慮類型,
//如果既要考慮值,還得考慮數據類型的話,就用 === 全等于

    if (a == c) {
        alert("a==c成立");
    } else{
        alert("a == c不成立");
    }

注意:

在js當中,"==" 只考慮值是否成立,不考慮變量的數據類型,

如果既要考慮值,還要考慮數據類型的話,就用 "===" 全等于.

4.5 邏輯運算符

    <!-- 
    
     邏輯運算符
     與  或  非;
     與:and  運算符前后的左右條件都成立  &&;
     或:or   運算符前后的條件有一個成立,則結果即為真 ||;
     非:!   對結果取反;
    
    -->
    
    var a = 5;//number 數據類型
    var b = 10;
    var c = "5";//字符串類型(string)
    
    if (a < b && a == c) {
        alert("成立");
    }else{
        alert("不成立");
    }
    
    if (a < b || a > c) {
        alert("成立");
    } else{
        alert("不成立");
    }
    
    if (!(a > b)) {
        alert("取反成立!");
    } else{
        alert("取反不成立!");
    }

4.6 for 循環

 for (var i = 0;i < 10;i++) {
     //警告提示框
        alert(i);
    }

看提示框的提示次數,可知此循環的循環次數為10次;

這里C語言當中for循環當中已經應該非常熟悉了,此處不再多說。

4.7 JS 獲取對象

    <body>
      <!--在body當中,創建一個有序列表ol-->
        <ol id="olist">
            <li><span></span>我是li1</li>
            <li><span></span>我是li2</li>
            <li><span></span>我是li3</li>
            <li><span></span>我是li4</li>
            <li><span></span>我是li5</li>
            <li><span></span>我是li6</li>
            <li><span></span>我是li7</li>
            <li><span></span>我是li8</li>
            <li><span></span>我是li9</li>
            <li><span></span>我是li10</li>
        </ol>
    </body>
    
    <script type="text/javascript">
    
    <!--根據id獲取標簽ol對象-->
    var ol = document.getElementById("olist");
    
    //獲取ol有序列表里所有的span標簽,第一種方式
    <!--通過ol獲取ol列表下的所有span標簽-->
    var spans = ol.getElementsByTagName("span");
    
    //或者使用第二種方式:
    var spans = document.querySelectorAll("#ol1 span");
    
    //length 長度 可以通過length求長度
    alert(spans.length);
    
    //如果想獲取某單個span標簽對象,可以通過下標來獲取.例如:
    //spans[0]  下標從0開始
    
    </script>

4.8 JS基礎事件(click、mouseover、mouseout)

例如下面代碼中的案例:設置一個div的屬性為寬為200px、高為200px、顏色為紅色;

     <body>
        <!--onclick 當點擊時-->
        <!--<input onclick="alert('a')" type="button" name="btn" id="btn1" value="顯示" />-->
        <input  type="button" name="" id="btn" value="顯示" />
        <div id="div1" style="display: none;"></div>
    </body>

頭部引入js

     <script type="text/javascript">
     
    //  獲取操作的標簽  從文檔里通過id去獲取標簽
    //通常存儲在變量里面
    var btn = document.getElementById("btn");//得到button按鈕
    var blockDiv = document.getElementById("div");//得到div標簽
    
    //當點擊button按鈕時
    btn.onclick = function(){
    
        //做一次判斷
        if (blockDiv.style.display == "none") {
            
            blockDiv.style.display = "block"; //block 屬性 display:block 顯示
        } else{
            blockDiv.style.display = "none"; //block 屬性 display:none 隱藏
        }
        
        //當鼠標移入按鈕上時 onmouseover
        btn.onmouseover = function(){   
        
            //改變button上顯示的內容
            btn.value = "顯示";           
        }
        
        //或者寫這個屬性兼容性更強
        //btn.onmouseenter = function(){
        //  btn.value = "顯示";
        //}
        
        //當鼠標移除時 onmouseout
        btn.onmouseout = function(){
            btn.value = "隱藏";
        }
        
        //或者寫這個屬性兼容性更強
        //btn.onmouseleave = function(){
        //  btn.value = "隱藏";
        //}
    }
     </script>

通過看下代碼實現的效果來驗證一下:

(注意點擊顯示按鈕時,div標簽的顯示與隱藏,以及鼠標移入和移出按鈕時,按鈕上文字的變化)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容