JavaScript基礎(chǔ)<一>

1.JS簡介
  • JavaScript簡稱JS肮街,是前端開發(fā)的一門腳本語言(解釋型語言)
    • 解釋型語言:程序執(zhí)行之前,不需要編譯,直接運行時邊解析邊執(zhí)行的語言
    • 編譯型語言:程序執(zhí)行之前,需要一個專門的編譯過程业筏,把程序編譯成為機器語言的文件,比如exe文件
  • 組成部分
    • ECMAScript:JavaScript的語法標準
    • DOM(Document Object Model) 通過js操作網(wǎng)頁元素
    • BOM(Browser Object Model) 通過api操作瀏覽器
  • 特點
    • 簡單易用
    • 解釋執(zhí)行
      • 編譯執(zhí)行 java c# 轉(zhuǎn)化為.dll可執(zhí)行文件==>電腦讀取.dll可執(zhí)行文件
    • 基于對象面向過程
2.JS的書寫位置
  • 內(nèi)嵌式

    </body>
    ... ...
    <script type="text/javascript">
        alert("hello world");
    </script>
    </body>
    
    • 通常將js代碼放在body的最后, 因為HTML是從上至下加載, 而js代碼通常是給標簽添加交互(操作元素), 所以需要先加載HTML, 否則如果執(zhí)行js代碼時HTML還未被加載, 那么js代碼將無法添加交互(操作元素);
    • HTML頁面中出現(xiàn)<script>標簽后馁启,就會讓頁面暫停等待腳本的解析和執(zhí)行驾孔。無論當(dāng)前腳本是內(nèi)嵌式還是外鏈式,頁面的下載和渲染都必須停下來等待腳本的執(zhí)行完成才能繼續(xù), 所以如果把js代碼寫在head中, 那么js代碼沒有執(zhí)行完畢之前后續(xù)網(wǎng)頁無法查看
  • 外鏈式

    <script src="1.js"></script>
    
    • 外鏈式的script代碼塊中不能編寫js代碼, 即便寫了也不會執(zhí)行
    <script type="text/javascript" src="01-js書寫格式.js">
    alert("hello world"); // 不會被執(zhí)行
    </script>
    
  • 注意

    • 寫js代碼的時候惯疙,分號不能省略
    • 由于每次加載外鏈式的js文件都會發(fā)送一次請求, 這樣非常消耗性能, 所以在企業(yè)開發(fā)中推薦將多個JS文件合成為一個JS文件,以提升網(wǎng)頁的性能和加載速度
3.JS中輸出消息的幾種方式
  • alert() 在頁面彈出一個對話框,早期JS調(diào)試使用
  • Confirm() 在頁面彈出一個對話框, 常配合if判斷使用
  • console.log() 將信息輸入到控制臺妖啥,用于js調(diào)試
  • prompt() 彈出對話框霉颠,用于接收用戶輸入的信息
  • document.write()在頁面輸出消息
    • document.write不僅能輸出信息,還能輸出標簽荆虱。
  alert("哈哈");
  confirm("哈哈");
  console.log("哈哈");
  prompt("哈哈");
  document.write("第一行<br><strong>第二行</strong>")
3.JS的注釋
  • 快捷鍵 ctrl+/
  • 單行注釋 //
  • 多行注釋 /* */
4.變量
  • 定義變量
  • 給變量賦值
  • 定義并賦值
var name;//定義變量
name = "李四";//給變量賦值

var name = "李四";//定義變量并且賦值
  • 變量的命名規(guī)范
    • 不能以數(shù)字或者純數(shù)字開頭來定義變量名
    • 不推薦使用中文來定義變量名
    • 不能使用特殊符號或者特殊符號開頭(-除外)
    • 不推薦使用關(guān)鍵字和保留字來定義變量名
    • 在JS中嚴格區(qū)分大小寫的


      關(guān)鍵字保留字.png
5.JS中的數(shù)據(jù)類型
  • 查看數(shù)據(jù)類型 typeof()
var n1 = 100;
alert(typeof(n1));
  • Number 數(shù)字類型
    • 包含整數(shù)和小數(shù)
    var num1 = 100;
    var num2 = 1.05;
    alert(typeof(num1));
    alert(typeof(num2));
    
    • 數(shù)字類型的表達方式
      • 十進制
      • 十六進制(從0-9蒿偎,a(A)-f(F)表示數(shù)字。以0x開頭怀读。)
      • 八進制(0開頭诉位,0-7組成。)
    • 最大小值,無窮大小值(由于內(nèi)存的限制菜枷,ECMAScript 并不能保存世界上所有的數(shù)值)
      • 最大值:Number.MAX_VALUE
      • 最小值:Number.MIN_VALUE
      • 無窮大:Infinity, 如果超過了最大值就會返回該值
      • 無窮胁钥贰:-Infinity, 如果超過了最小值就會返回該值
      • NaN 非法數(shù)字(Not A Number),JS中當(dāng)對數(shù)值進行計算時沒有結(jié)果返回,則返回NaN
  • String 字符串
    • 凡是用雙引號或者單引號引起的都是字符串啤誊。
    var str1 = "哈哈";
    var str2 = '哈哈';
    alert(typeof(num1));
    alert(typeof(num2));
    
  • Boolean 布爾數(shù)據(jù)類型
    • 只有2個值一個是true, 一個是false. 實際運算中true=1,false=0
    var n1 = 1;
    var n2 = 2;
    alert(typeof(n1==n2);//false
    alert(typeof(n1<n2);//true
    
  • Undefined 變量未初始化
    • 定義了變量岳瞭,沒有給變量賦值,但變量在內(nèi)存中是存在的
    var n1;
    alert(n1);
    
  • Null 空值(變量未引用)
    • 在內(nèi)存中是找不到這個變量的
     var n1 = null;
    
6.比較運算符
  • 大于>
  • 小于<
  • 大等>=
  • 小等<=
  • 等于 ==
  • 不等于 !=
7.算術(shù)運算符
  • +號
    • 兩個數(shù)字類型的變量相加拥娄,得到的是一個數(shù)字類型。
    • 一個數(shù)字類型和一個字符串相加瞳筏,得到的是一個字符串稚瘾。
  • -號
    • 兩個數(shù)字類型的變量相減,得到的是一個數(shù)字類型姚炕。
    • 一個數(shù)字類型和一個數(shù)字字符串相減摊欠,得到的是一個數(shù)字類型。
    • 一個數(shù)字類型和一個非數(shù)字字符串相減柱宦,得到的是NaN,是一個數(shù)字類型些椒。
  • /號
    • 兩個數(shù)字類型的變量相除,得到的是一個數(shù)字類型捷沸。
    • 一個數(shù)字類型和一個數(shù)字字符串相除摊沉,得到的是一個數(shù)字類型。
    • 一個數(shù)字類型和一個非數(shù)字字符串相除痒给,得到的是NaN,是一個數(shù)字類型说墨。
    • 0做為除數(shù)的時候,得到結(jié)果 Infinity (無限大)苍柏,是一個數(shù)字類型尼斧。
  • %(取余數(shù))
8.帶操作的運算符
運算符 示例 等價于
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市试吁,隨后出現(xiàn)的幾起案子棺棵,更是在濱河造成了極大的恐慌,老刑警劉巖熄捍,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烛恤,死亡現(xiàn)場離奇詭異,居然都是意外死亡余耽,警方通過查閱死者的電腦和手機缚柏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碟贾,“玉大人币喧,你說我怎么就攤上這事「さⅲ” “怎么了杀餐?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朱巨。 經(jīng)常有香客問我史翘,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任恶座,我火速辦了婚禮搀暑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘跨琳。我一直安慰自己自点,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布脉让。 她就那樣靜靜地躺著桂敛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪溅潜。 梳的紋絲不亂的頭發(fā)上术唬,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音滚澜,去河邊找鬼粗仓。 笑死,一個胖子當(dāng)著我的面吹牛设捐,可吹牛的內(nèi)容都是我干的借浊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼萝招,長吁一口氣:“原來是場噩夢啊……” “哼蚂斤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起槐沼,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤曙蒸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后岗钩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纽窟,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年兼吓,在試婚紗的時候發(fā)現(xiàn)自己被綠了师倔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡周蹭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疲恢,到底是詐尸還是另有隱情凶朗,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布显拳,位于F島的核電站棚愤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宛畦,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一瘸洛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧次和,春花似錦反肋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至畅形,卻和暖如春养距,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背日熬。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工棍厌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竖席。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓耘纱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親怕敬。 傳聞我的和親對象是個殘疾皇子揣炕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

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

  • 前言:最近在前端這塊,發(fā)現(xiàn)自己生疏了东跪,連最基本的js都忘的差不多了畸陡。于是趁著周末,參考了廖雪峰老師的JS教程以及自...
    SkyLine7閱讀 622評論 0 2
  • 第一章: JS簡介 從當(dāng)初簡單的語言虽填,變成了現(xiàn)在能夠處理復(fù)雜計算和交互丁恭,擁有閉包、匿名函數(shù)斋日, 甚至元編程等...
    LaBaby_閱讀 1,673評論 0 6
  • 1牲览、JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是原始類型?哪些是復(fù)雜類型?原始類型和復(fù)雜類型的區(qū)別是什么? ...
    字母31閱讀 123評論 0 0
  • 第三章 基本概念 3.1 語法 ECMAScript標識符一般采用駝峰大小寫格式,也就是第一個字母小寫恶守,剩下的每個...
    小雄子閱讀 545評論 0 1
  • basic 在這里第献,不想直接照抄某個網(wǎng)站的文章或者觀點,只是標注一些注意點 對大小寫敏感 Comments // ...
    光小月閱讀 364評論 0 0