JS基礎(chǔ)(一)

javascript

一、 前言

  1. JS 是一個(gè)腳本語言
  2. JS是web的編輯語言
  3. 經(jīng)常理解為 html-結(jié)構(gòu)、css-樣式、js-行為
  4. js可以寫html逆日、也可以寫css、但是主要是用來渲染頁面妨蛹,負(fù)責(zé)頁面和數(shù)據(jù)之間的傳遞和顯示屏富,以及編輯功能....

二、JS基礎(chǔ)

1.使用

和css差不多蛙卤,js有兩種使用方式
1.內(nèi)部js
在html的底部

<html>
<body><body/>
<script>js代碼</script>
</html>

2.外部引入
<script src="demo.js"></script>

2.輸出

1.彈框 alert
內(nèi)部js
<script>
        //寫js代碼
        alert('js第一天');
    </script>
2.外部js里面直接寫代碼
alert('哈哈哈');

3.寫到html上 document.write
<script>
         document.write('床前明月光');  
         document.write('<br>'); 
         document.write('疑是地上霜');   
</script>

4.innerHTML寫到html內(nèi)里面可以寫html的標(biāo)簽狠半,顯示的時(shí)候顯示的是標(biāo)簽內(nèi)的東西。
innerText寫到標(biāo)簽里面,如下所示會(huì)顯示包含標(biāo)簽的一塊
app我們稱為節(jié)點(diǎn),通過節(jié)點(diǎn)然后把內(nèi)容寫到該節(jié)點(diǎn)的地方
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="app">
    </div>
    <p id="app2">
    </p>
    <script>
        // innerHTML
        app.innerHTML = '<span class="border: 1px solid">兩行白鷺上青天</span>';
        // innerText
        app2.innerText = '<span class="border: 1px solid">兩行白鷺上青天</span>';
    </script>
</body>
</html>

5.寫到控制臺(tái) 瀏覽器F12調(diào)出控制臺(tái)console
console.log('今天天氣很好');
  1. 變量
1.變量
變量一個(gè)可變的量颤难,用來儲(chǔ)存數(shù)據(jù)
聲明一個(gè)變量用var
var 變量名;
var num; 這個(gè)時(shí)候num是個(gè)變量
變量賦值 = 賦值符號(hào)      num = 1;     這個(gè)時(shí)候num等于1
2.關(guān)鍵字
一些語言以及規(guī)定意義的詞比如function
3.標(biāo)識(shí)符
js嚴(yán)格區(qū)分大小寫
命名規(guī)范: 
  字母 $ _ 開頭
  第一個(gè)單詞小寫神年,后面的單詞第一個(gè)字母必須大寫

4.小總結(jié)

一、變量
    * 變量是什么行嗤,有什么用
    * 聲明變量
    * 賦值
二已日、js一些語法和概念
    1. 區(qū)分大小寫(html不區(qū)分大小寫)
    2. 標(biāo)識(shí)符(比如變量名稱等)
        * 以字母、下劃線栅屏、$開頭
        * 其他字符可以是字母飘千、下劃線、$或數(shù)字
        * 駝峰式:小寫字母開頭,第二個(gè)打次首字母大寫
    3. 注釋
        * 單行注釋
        * 多行注釋
    4. 關(guān)鍵字和保留字
        * 關(guān)鍵字:系統(tǒng)在使用
        * 保留字:系統(tǒng)將來可能用到
        * 不能作為標(biāo)識(shí)符來使用
        * 用來作標(biāo)識(shí)符就會(huì)報(bào)錯(cuò)
三栈雳、變量有哪些類型
    1. 數(shù)字 Number類型
        * 整數(shù)
        * 小數(shù)
        * 最大值和最小值
        * NAN
    2. typeof 判斷變量的類型
    3. String類型 字符串
    4. Boolean類型 true和false
    5. Undifined類型 undefined
        * 用來表示聲明了變量但未初始化(賦值)
    6. Object類型
        * 普通對(duì)象(無序集合)
        * 數(shù)組(特殊對(duì)象)
    7. Null類型 null
        * 聲明一個(gè)變量準(zhǔn)備用來存儲(chǔ)對(duì)象
四护奈、變量的類型判斷
    * 基本數(shù)據(jù)類型(簡單數(shù)據(jù)類型) Undefined、Null哥纫、Boolean霉旗、Number和String
    * 引用數(shù)據(jù)類型(復(fù)雜數(shù)據(jù)類型) object,array他們的屬性或者成員可以包含簡單數(shù)據(jù)類型

5.數(shù)據(jù)類型

5個(gè)基本數(shù)據(jù)類型
1.數(shù)組類型 Number
  數(shù)字   NaN
2.字符串類型 String 
  ' ' 或 'saf'
3.布爾類型 Boolean
  true 或 false
4.undefinde 未定義
5.null 空

2個(gè)引用數(shù)據(jù)類型
1..數(shù)組類型Array
  var 數(shù)組名 = [ ]
  var 數(shù)組名 = [數(shù)組值]
  var 數(shù)組名 = [  {object}]
2..對(duì)象類型Object
  var 對(duì)象名 = { }
  var 對(duì)象名 = new object
  var 對(duì)象名 = {    屬性(變量名)=值(各種類型) }
  NULL和Array的數(shù)據(jù)類型都是Object

6.運(yùn)算符

和數(shù)學(xué)的運(yùn)算符一致
加 +
減 -
乘 *
除 / 
取余 %

7.關(guān)系運(yùn)算

1.if判斷語句
  if(條件語句 (變量或運(yùn)算)){執(zhí)行代碼}else{執(zhí)行語句}
如果滿足就干嘛,否者就干嘛
if(!null){return:"哈"}else{return:"切"}
如果不是空就返回 哈,否者返回 切

2.賦值運(yùn)算符和逗號(hào)運(yùn)算符
賦值運(yùn)算符 =  用于給變量賦值
復(fù)合運(yùn)算符:
  +=    a += 10;    =>   a=a+10
  -=    a -= 2 ;    =>   a=a-2
  *=    a *= 5;     =>   a=a*5
  /=    a /= 3      =>    a=a/3
逗號(hào)運(yùn)算符 , 用于簡潔聲明變量
var a,b = 10 ;  聲明a,b變量并賦值10

3.一元運(yùn)算
自加運(yùn)算符 ++
  ++i 先自加1再參與計(jì)算
   i++ 先參與計(jì)算再自加1
負(fù)號(hào)運(yùn)算符 - 
  直接給變量取負(fù)值
自減運(yùn)算符 --
  --i 先自減1再參與計(jì)算
  i-- 先參與計(jì)算再自減1

4.邏輯運(yùn)算
邏輯非 厌秒!
  取相反的值 先用布爾進(jìn)行判斷读拆,會(huì)涉及類型轉(zhuǎn)換,隱式和顯式轉(zhuǎn)換
邏輯與&&
  布爾類型情況下 只要有一個(gè)false就不會(huì)檢查后面的鸵闪,結(jié)果就是false
  非布爾情況下  判斷第一個(gè)變量的值(先進(jìn)行隱式布爾轉(zhuǎn)換)若第一個(gè)為true取后面false的變量值檐晕,若第一個(gè)為false取第一個(gè)變量的值
  實(shí)際應(yīng)用里的小技巧
  // 下面用這個(gè)特性來檢測(cè)這個(gè)變量有沒有值和屬性
    var cat = false;
    console.log(cat && cat.name);
邏輯或 ||
  布爾情況下,條件里滿足一個(gè)就為true蚌讼,都不滿足為false
  非布爾情況下棉姐,在條件里找true,值都取第一個(gè)為true的值,若沒有true則取最后一個(gè)的值
  // 小技巧啦逆,用于不確定有沒有給值,先設(shè)置一個(gè)默認(rèn)值
    var date;
    var dater = date || '2019-2-15';
    console.log(dater);
擴(kuò)展 多個(gè)運(yùn)算在一起的情況下
  /**
        在下列的算式里笛洛,看似很復(fù)雜,實(shí)際上可以分成兩大部分||左右進(jìn)行判斷夏志,
        如果前者為false再算后面的,
        而后面的關(guān)系運(yùn)算符==也可以分成左右兩邊進(jìn)行計(jì)算
        得出結(jié)論苛让,計(jì)算優(yōu)先級(jí)之前得看清全盤沟蔑,最后關(guān)鍵是賦值運(yùn)算那
        */
        // 計(jì)算優(yōu)先級(jí):()=> 自加減 => 算術(shù)運(yùn)算 => 關(guān)系運(yùn)算(比較運(yùn)算)=> 邏輯運(yùn)算=> 賦值運(yùn)算;
        var sum = 20 + i++ + 'abc' || 123 - ++i + ++j + ++j + '123' == 123 * 2 / 4 ;

5.類型轉(zhuǎn)換
隱式轉(zhuǎn)換
  在條件語句為一個(gè)變量時(shí)出現(xiàn)
  先把變量轉(zhuǎn)換為布爾類型,true執(zhí)行else之前的狱杰,false執(zhí)行else之后的
  空瘦材、0、undefinde仿畸、NaN食棕,各類數(shù)據(jù)類型意義上為無的都為false,否者就為true
顯式轉(zhuǎn)換
  判斷變量的類型       typeof 變量名
  Number(變量名);   除了數(shù)字和空以及布爾其他全為NaN
  Boolean(變量名);      !!Boolean(變量名) 空错沽、0簿晓、undefinde、NaN千埃,各類數(shù)據(jù)類型意義上為無的都為false憔儿,否者就為true
  String(變量名);   全部加上引號(hào)變成字符串然后(+)連接起來 
  Object(變量名);基本不進(jìn)行轉(zhuǎn)換因?yàn)閷?duì)象可以把所有類型都包含
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末放可,一起剝皮案震驚了整個(gè)濱河市谒臼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耀里,老刑警劉巖蜈缤,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異备韧,居然都是意外死亡劫樟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叠艳,“玉大人奶陈,你說我怎么就攤上這事「浇希” “怎么了吃粒?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拒课。 經(jīng)常有香客問我徐勃,道長,這世上最難降的妖魔是什么早像? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任僻肖,我火速辦了婚禮,結(jié)果婚禮上卢鹦,老公的妹妹穿的比我還像新娘臀脏。我一直安慰自己,他們只是感情好冀自,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布揉稚。 她就那樣靜靜地躺著,像睡著了一般熬粗。 火紅的嫁衣襯著肌膚如雪搀玖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天驻呐,我揣著相機(jī)與錄音灌诅,去河邊找鬼。 笑死暴氏,一個(gè)胖子當(dāng)著我的面吹牛延塑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播答渔,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼关带,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了沼撕?” 一聲冷哼從身側(cè)響起宋雏,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎务豺,沒想到半個(gè)月后磨总,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笼沥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年蚪燕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了娶牌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡馆纳,死狀恐怖诗良,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鲁驶,我是刑警寧澤鉴裹,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站钥弯,受9級(jí)特大地震影響径荔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脆霎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一总处、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧睛蛛,春花似錦辨泳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽第岖。三九已至难菌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔑滓,已是汗流浹背郊酒。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留键袱,地道東北人燎窘。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蹄咖,于是被迫代替她去往敵國和親褐健。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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

  • 33澜汤、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1蚜迅、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,084評(píng)論 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)俊抵。 注意:講述HT...
    kismetajun閱讀 27,489評(píng)論 1 45
  • js的歷史 在上個(gè)世紀(jì)的1995年谁不,當(dāng)時(shí)的網(wǎng)景公司正憑借其Navigator瀏覽器成為Web時(shí)代開啟時(shí)最著名的第一...
    LaBaby_閱讀 284評(píng)論 0 2
  • 27、移動(dòng)端響應(yīng)式布局開發(fā) 響應(yīng)式布局開發(fā) 1徽诲、什么是響應(yīng)式布局開發(fā)刹帕?把我們開發(fā)完成的產(chǎn)品吵血,能夠讓其適配不同的設(shè)備...
    萌妹撒閱讀 1,047評(píng)論 0 0
  • 鬧鈴響了一遍又一遍蹋辅!就是無法完全醒來,已經(jīng)八點(diǎn)了亡蓉!真愁人晕翠,也不知道以前在公司上班是怎么混的!對(duì)自己還是太過放任了砍濒。...
    花樣兒閱讀 276評(píng)論 0 0