JavaScript入門筆記

目錄

  • 基礎知識
  • 數(shù)據(jù)類型
  • 操作符和表達式
  • 語句
  • 函數(shù)
  • 數(shù)組與字符串
  • 定時器
  • 數(shù)學對象
  • 時間與日期
  • DOM文檔對象模型
  • BOM瀏覽器對象模型
  • 事件流

1> 基本知識

三大組成部分:

1) ECMAScript赡磅,提供核心語言
2) DOM 文檔數(shù)據(jù)類型 提供訪問和操作網(wǎng)頁內(nèi)容的方法和接口
3) BOM 瀏覽器數(shù)據(jù)類型 提供與瀏覽器交互的方法和接口

引入
<script src=””></script>
  • alert()系統(tǒng)彈出框 阻斷程序運行
  • console.log() 控制臺輸出 用于調(diào)試程序 報錯信息的收集
  • document.write() 打印到頁面

2> 數(shù)據(jù)類型

5種基本數(shù)據(jù)類型:

undefined —— 未定義類型
null —— 空類型
boolean —— 布爾類型
number —— 數(shù)值型
string —— 字符串類型

1種復雜數(shù)據(jù)類型:

object —— 對象類型

Typeof類型:

undefined —— 如果這個值未定義魄缚;
boolean —— 如果這個值是布爾值;
number—— 如果這個值是數(shù)值焚廊;
string —— 如果這個值是字符串冶匹;
object —— 如果這個值是對象或null;
function —— 如果這個值是函數(shù)咆瘟。

3> 操作符和表達式

1) 一元操作符(單目操作符)
  • ++是遞增操作符嚼隘,--是遞減操作符
  • i++ 先賦值 后自加 i-- 先賦值 后自減
  • ++i 先自加 再賦值 --i 先自減 再賦值
  • 乘法操作符 / 除法操作符 % 取余操作符
2) 布爾操作符
  • &&(與):找第一個為false的值并返回
  • ||(或):找第一個為true的值并返回
  • (非):取反

&&(與)和||(非)中袒餐,如果有一個操作數(shù)是null飞蛹,則返回null谤狡;如果有一個操作數(shù)是NaN,則返回NaN卧檐;如果有一個操作數(shù)是undefined墓懂,則返回undefined

語句

1)If語句:
If(){
  }else if{
  }else
2)swichi語句:
swich(a){
    case 滿足條件:
      滿足條件,執(zhí)行;
    break;      
    case 滿足條件:
      滿足條件,執(zhí)行;  
      break;
    default:        
      都不滿足執(zhí)行;
}
3) for語句:
for(start;end;step){
        循環(huán)體;
      } 
4) for in 語句:
for (var 變量 in 對象){
        循環(huán)體
    }
6) while語句
7) do……while語句
8) break以及continue

5> 函數(shù)

1)函數(shù)聲明
function fn(){ }
2)函數(shù)表達式
var fn = function (){};

兩者區(qū)別:函數(shù)聲明有函數(shù)聲明提升的過程

6> 數(shù)組與字符串

1) 創(chuàng)建方式
//數(shù)組
var arr = new Array();
var arr = [ ];
//字符串
var str = new String();
var str = “ ”;
2) 屬性
console.log($.length)  // 返回值為長度
3)數(shù)組轉(zhuǎn)字符串方法
$.toString( )
$.join( )  // 數(shù)組轉(zhuǎn)字符串
3) 棧方法和隊列方法
// 棧方法
$.push():將任意參數(shù)添加到數(shù)組末尾   // 返回值為新數(shù)組的長度
$.pop( ):將數(shù)組末尾的參數(shù)刪除  //返回值為被刪除項
// 隊列方法
$.unshift():將任意參數(shù)添加到數(shù)組開頭 // 返回值為新數(shù)組的長度
$.shift():將數(shù)組開頭的參數(shù)刪除 // 返回值為被刪除項
4) 重排序和操作方法
$.reverse(): 翻轉(zhuǎn)數(shù)組  // 返回值為翻轉(zhuǎn)后的新數(shù)組
$.sort(): 排序
$.sort(function(a,b)){
        Return a-b 升序
        Return b-a 降序
}
$.concat():拼接兩個或幾個數(shù)組 // 返回值為新數(shù)組
$.slice():提取數(shù)組中的某個部分 // 返回值為被提取項
$.splice():添加霉囚、刪除捕仔、替換
$.indexOf():通過元素找下標 // 返回值為該元素首次出現(xiàn)的索引值
5) 迭代方法
$.some():數(shù)組中任何一個值為true,就返回true
$.every():數(shù)組中每一項為true盈罐,才返回true

內(nèi)容很多是不是有點困了...


thing.jpg

7> 定時器

<h1 id='names'></h1>
  <script>
    var names = document.getElementById('names');
    console.log(names);
    var arr = ['三國演義', '紅樓夢', '西游記',"水滸傳","白夜行","放課后","解憂雜貨店","東野圭吾","百年孤獨"];
    var timer = null;
    timer = setInterval(function () {
      var num = Math.floor(Math.random() * arr.length);
      names.innerHTML = arr[num];
    }, 50)
    setTimeout(function () {
      clearInterval(timer);
      timer = null;
}, 5000)

8> 數(shù)學對象

1) 屬性
$.Math.min()  //最小值
$.Math.max()    //最大值
2) 舍入方法
$.Math.ceil()   //向上舍入
$.Math.floor()  // 向下舍入
$.Math.round()  //標準舍入(四舍五入)
3) 隨機數(shù)
$.Math.random()
4) 封裝一個方法:隨機生成n到m的隨機數(shù)榜跌。
        function random(n,m){
            return Math.floor(Math.random()*(m-n+1) + n);
        }

9> 時間與日期

倒計時案例:

Html:
<h3 id="downtime"></h3>
Css:
span {
            display: inline-block;
            color: #fff;
            width: 30px;
            height: 30px;
            background-color: #000;
            text-align: center;
            line-height: 30px;
            font-size: 15px;
        }
Js:
   var timedown = document.getElementById("downtime")
   function djs(year, mo, day) {
   var nowtime = new Date();
    var futuretime = new Date(year, mo, day);
    var shicha = futuretime - nowtime;
            var tian = Math.floor(shicha / 1000 / 60 / 60 / 24);
            var hour = Math.floor(shicha / 1000 / 60 / 60 % 24);
            var minutes = Math.floor(shicha / 1000 / 60 % 60);
            var secend = Math.floor(shicha / 1000 % 60);
            var all = `<span>${tian}</span> 天 <span>${hour}</span>時 <span>${minutes}</span>分 <span>${secend}</span>秒`
            return all;
        }
        var tim = null;
        tim = setInterval(function () {
            timedown.innerHTML = djs(2019, 9, 1);
        }, 0)

10 >DOM文檔對象模型

etElementById() 獲取特定ID元素的節(jié)點

getElementsByTagName() 獲取相同元素的節(jié)點列表

getElementsByClassName()[0] 獲取Class名稱元素的節(jié)點

getElementsByName() 獲取相同名稱的節(jié)點列表

getAttribute() 取特定元素節(jié)點屬性的值

setAttribute() 設置特定元素節(jié)點屬性的值

removeAttribute() 移除特定元素節(jié)點屬性

$.innerHTML 寫入頁面

獲取元素的節(jié)點前面需要加document

11> BOM 瀏覽器對象模型

對話框
var tak = confirm("請點擊確定或取消")
alert(tak)

點擊確定返回值為true
點擊取消返回值為false

12> 事件流

事件分類:

事件冒泡由最深處的元素開始接受,逐層向上傳遞暖呕。
事件捕捉由最外圍的節(jié)點開始接受,逐層傳遞到最具體元素苞氮。

事件類型:

所有事件類型的處理都由 on + 事件名稱 組成湾揽。

1) 鼠標事件

click :單擊鼠標時觸發(fā)
dblclick :雙擊鼠標時觸發(fā)
mouseover:鼠標滑入時觸發(fā)
mouseout:滑出時元素時觸發(fā)
mousemove:鼠標在元素上移動式觸發(fā)

2) 鍵盤事件

keydown:按下鍵盤任意鍵時觸發(fā),如果按著不放會重復觸發(fā)
keyup:釋放鍵盤上按鍵時觸發(fā)
keypress:按下鍵盤某個字符鍵時觸發(fā)笼吟,如果按著不放會重復觸發(fā)

3) HTML事件

load:當頁面所有內(nèi)容加載完成后库物,在整個頁面之上觸發(fā)
unload:當頁面所有內(nèi)容卸載后觸發(fā)
focus:獲取焦點時觸發(fā)
blur:失去焦點時觸發(fā)

本人新建的公眾號,有興趣的小可愛可以關注一下子嗷qaq

掃碼一鍵關注了解一下.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贷帮,一起剝皮案震驚了整個濱河市戚揭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撵枢,老刑警劉巖民晒,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锄禽,居然都是意外死亡潜必,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門沃但,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磁滚,“玉大人,你說我怎么就攤上這事宵晚〈谷粒” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵淤刃,是天一觀的道長晒他。 經(jīng)常有香客問我,道長逸贾,這世上最難降的妖魔是什么仪芒? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任唁影,我火速辦了婚禮,結(jié)果婚禮上掂名,老公的妹妹穿的比我還像新娘据沈。我一直安慰自己,他們只是感情好饺蔑,可當我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布锌介。 她就那樣靜靜地躺著,像睡著了一般猾警。 火紅的嫁衣襯著肌膚如雪孔祸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天发皿,我揣著相機與錄音崔慧,去河邊找鬼。 笑死穴墅,一個胖子當著我的面吹牛惶室,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播玄货,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼皇钞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了松捉?” 一聲冷哼從身側(cè)響起夹界,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隘世,沒想到半個月后可柿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡丙者,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年趾痘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔓钟。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡永票,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滥沫,到底是詐尸還是另有隱情侣集,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布兰绣,位于F島的核電站世分,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏缀辩。R本人自食惡果不足惜臭埋,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一踪央、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓢阴,春花似錦畅蹂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叠穆,卻和暖如春少漆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硼被。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工示损, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嚷硫。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓检访,卻偏偏與公主長得像,于是被迫代替她去往敵國和親论巍。 傳聞我的和親對象是個殘疾皇子烛谊,可洞房花燭夜當晚...
    茶點故事閱讀 44,652評論 2 354