幫助你對JavaScript初級了解

Javascript和ECMAScript通常被人們用來表達相同的含義,但是嚴格意義上Javascript比ECMA-262中規(guī)定的含義要多,一個完整的Javascript應該包含三個部分

**核心**:ECMAScript

- 由ECMA-262定義,提供核心語言功能

**文檔對象模型**:DOM(Document Object Model)

- 用于HTML的應用程序編程接口,DOM把整個頁面映射為一個多層節(jié)點的結構,提供訪問和操作網(wǎng)頁內容的方法和接口

**瀏覽器對象模型**:BOM(Browser Object Model)

- 支持可以訪問操作瀏覽器窗口的對象模型,提供與瀏覽器交互的方法和接口

**ECMA-262**:

- 語法、類型、語句、關鍵字、保留字、操作符、對象等

**區(qū)分大小寫**

- ECMAScript中一切(變量、函數(shù)名、操作符)都區(qū)分大小寫


**標識符**

- 指變量、函數(shù)、屬性的名字或函數(shù)的參數(shù)

**命名規(guī)范**

- 必須是數(shù)字、字母、下劃線(_)或$,不能以數(shù)字開頭、不能以關鍵字、保留字命名。

- 可以使用駝峰命名法,例如:firstSecond

**關鍵字、保留字**

- ??關鍵字用于控制語句的開始或結束,或用于執(zhí)行特定操作等

- ??保留字將定義一些將來可能被用于關鍵字的單詞

**注釋**

- // 單行注釋

- /*

??* 這是一個多行

??* (塊級)注釋

??*/

- 第二行及第三行的*號不是必須,僅為提高代碼的可讀性,企業(yè)級應用這種方式比較多

**嚴格模式**

- 定義一種不同的解析與執(zhí)行模式,在嚴格模式下,將對一些不確定、不安全或不當操作的行為拋出錯誤

- 使用:在script標簽內部最頂端添加 'use strict';也可以在指定的函數(shù)體內部添加

**分號**

- 結尾的分號不是必須,但是可讀性降低,并且壓縮代碼時容易導致壓縮錯誤,還需要解析器去確定語句的結尾,加上分號也會在某些情況下提高性能,因為這樣,解析器就不用花時間去推測應該在哪里插入分號

**變量**

- ECMA的變量(存儲在內存中的一塊區(qū)域)是松散類型(可以用來保存任何類型的數(shù)據(jù)),換句話說每個變量僅僅是用來保存值的一個占位符

- 定義變量需要使用var操作符 例如: var num = 10;

**數(shù)據(jù)類型**

- ECMAScript中有5種簡單數(shù)據(jù)類型(基本數(shù)據(jù)類型):Undefined、Null、Boolean、Number、String

- 一種復雜數(shù)據(jù)類型:Object

? - undefined:只有一個值的數(shù)據(jù)類型,聲明的變量未定義或未對其初始化

? - null:只有一個值的數(shù)據(jù)類型,表示一個空的對象指針,一般用于將來保存對象而使用,由于undefined派生自null,ECMA-262規(guī)定undefined與null值相等


? - boolean:只有兩個值true或false, Boolean()轉換規(guī)則,除false、''、0、NaN、null、undefined皆為true

? - number:數(shù)字類型,基本字面量格式是十進制整數(shù),例如:var num = 10;

? ? - 也可以以八進制(8為基數(shù))或十六進制(16為基數(shù))的字面數(shù)來表示,例如:var num = 070; // 八進制的56

? ? - 八進制第一位必須是0開頭,字數(shù)序列為0~7,無效數(shù)值將會以十進制解析,忽略前面的0

? ? - 十六進制例如:var num = 0xA; //十六進制的10,十六進制由(0~9及A~F)組成,不區(qū)分大小寫,字面值前兩位必須是0x;

? ? - 八進制嚴格模式下會拋出錯誤

? ? - 浮點數(shù)值:數(shù)值必須包含一個小數(shù)點,小數(shù)點后面必須有一位數(shù)字,由于浮點數(shù)需要的內存空間是整數(shù)的兩倍,一般對于小數(shù)點沒有跟任何值或本身表示一個整數(shù)如1.0,那么該

? ? 值會被轉為整數(shù)

? ? - 數(shù)值范圍:由于內存限制,ECMAScript并不能保存所有值,因此把表示最小的值保存在Number.MIN_VALUE中一般在瀏覽器中這個值是5e-324,把最大的值保存在

? ? Number.MAX_VALUE中,一般為1.7976931348623157e+308,計算中如果是負數(shù)則會轉為-Infinity(負無窮),正數(shù)則為Infinity(正無窮),要想確定一個數(shù)值是不是有窮的使

? ? 用isFinite()

? ? - 數(shù)字中的e(科學計數(shù)法)表示10的幾次方,例如:3.125e7等于31250000 相當于3.125 * 10^7

? ? - NaN:非數(shù)值(Not a Number)是一個特殊的數(shù)值,表示一個要返回數(shù)值的操作數(shù)未返回數(shù)值

? ? - 檢測一個值是否為非數(shù)值可以用isNaN()方法來檢測,該方法接受一個任何類型的參數(shù)

? ? - 轉換為數(shù)值的方法:Number(傳任何值)、parseInt(字符串或數(shù)字)[接受兩個參數(shù),第一個為傳入的要處理的參數(shù),第二個為基于解析的基數(shù),取2-36之間的數(shù)值]、parseFloat(字符串或數(shù)字)

- string:由英文狀態(tài)下的雙引號或單引號表示,例如:var str = 'abc' 或 var str1 = "abc";

? - 字符字面量:\n 換行 \t制表 \b退格 \r回車 \\斜杠? \' 單引號 \"雙引號

? - 轉換字符串的方法:

? ? - toString方法:toString()返回一個字符串的副本,除了null和undefined以外,數(shù)值、布爾值、對象、字符串都有這個方法,可以接受一個參數(shù),作為輸出數(shù)值的基數(shù),默認為十進制

? ? - 使用:var num = 10;? num.toString();

? ? - String方法:轉型函數(shù),能夠將任何類型的值轉為字符串,包括undefined和null,一般如果轉變的值有toString方法則會調用該方法

- object:數(shù)據(jù)和功能的集合,一般通過new操作符后面跟要創(chuàng)建的對象類型來創(chuàng)建,例如:var obj = new Object();也可以使用字面量方式創(chuàng)建,例如:var obj = {};

? -? 任何涉及到類型轉換如果針對的是對象類型,則會調用對象的toString()和valueOf()方法通過轉換得到值[概念,暫時不講]

**typeof操作符**

- 用來檢測給定變量的數(shù)據(jù)類型,返回一個字符串

- 檢測得到的結果:undefined、boolean、string、number、object、function

- 操作數(shù)可以是一個變量也可以是一個字面量,typeof可以加圓括號(typeof(10))但不是必須,例如:typeof 10;

- typeof 對于未定意的變量也會返回undefined 例如:var str; typeof str 和 typeof num都是undefined;但是如果去通過控制臺或其他方式輸出,未定義的num則會產(chǎn)生報錯;

??

??

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1、標識符 標識符是指變量、函數(shù)、屬性的名字,或函數(shù)的參數(shù)。 格式規(guī)則: 第一個字符必須是一個字母、下劃線(_)或...
    風中丶凌亂閱讀 1,746評論 0 0
  • 第一章 前端三大語言:HTML(專門編寫網(wǎng)頁內容)、CSS(編寫網(wǎng)頁樣式)、JS(專門編寫網(wǎng)頁交互行為) 能簡寫盡...
    fastwe閱讀 1,190評論 0 0
  • 第1章 JavaScript 簡介 JavaScript 具備與瀏覽器窗口及其內容等幾乎所有方面交互的能力。 歐洲...
    力氣強閱讀 1,282評論 0 0
  • 1、標識符 標識符是指變量、函數(shù)、屬性的名字,或函數(shù)的參數(shù)。 格式規(guī)則: 第一個字符必須是一個字母、下劃線(_)或...
    霜天曉閱讀 759評論 0 0
  • 第3章 基本概念 3.1 語法 3.2 關鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,489評論 0 21

友情鏈接更多精彩內容