JavaScript 型別和變數

2021-09-02 22:09:14 字數 2464 閱讀 4204

在程式語言中,能夠表示並且操作的型別叫資料型別,但我們需要將值儲存起來以備以後使用的時候,我們就需要將值儲存到乙個變數中。

js中資料分為兩類:原始型別(primitive type)和物件型別(object type),原始型別資料報括數字、字串和布林值,並且js中有兩個特殊的原始值null(空)和undefind(未定義)。

js中物件(object)是屬性(property)的集合,每個屬性都是由「名字/值對」構成。

在js中,不區分整數和浮點值,js所有數字均是浮點值表示。

當乙個數字直接出現在js的程式中,我們稱之為數字直接量(numeric literal)。

格式:[整數] [ . 整數] [(e|e)[ ( + | - ) ] 整數 ]

常見的算數符號: 加(+)減(-)乘(*)除(/)取餘(%)

更加複雜的運算:

通過math物件的屬性定義的函式和常量實現

js中算數運算在上溢位(overflow)、下溢位(underflow)和被零整除的時候不報錯!!

上溢位的結果為 +infinity  下溢位結果為 -infinity 

下溢位(underflow)表示 當js運算結果無限接近0比js所能表示的最小的數還小,這時候js會返回0,若負數下溢位,會返回特殊值 負零(-0),它的表示結果和零幾乎完全一樣,但是我們一般用不到負零。

零除以零沒有意義,並且會返回結果(not a number),用nan表示。

無窮大和無窮大相除、給負數開方、數字和非數值型(不是數字,或者不能轉換成數字)操作也會返回nan

js由於使用了二進位制表示法,因此js可以準確的表示分數 例如 1/2  、 1/8 、 1/1024 但是尷尬的是,對於貨幣計算(十進位制分數表示)時候, 比如: 1/10 、  1/100 這樣的情況下 無法精確的表示!!

上圖**中 因為0.3和0.2的差值並不直接等於0.2和0.1的差值,因此結果為假!

js的語言核心包括date()建構函式,用來建立表示日期的物件。

var then =new date(2018,11,09) //結果:2023年11月9日

var later=new date(2018,11,09,17,30,30) //結果:2023年11月9日 下午五點三十分三十秒

later.getfullyyear();//獲取年份

later.getmonth();//獲取月份

文字:

在js中 字串(string)是一組有16位值組成的不可變的有序序列,每個字元通常都來自unicode字符集,js通過字串型別表示文字,字串的長度是其所含有16位值的個數,js字串的索引從零開始,並且js中沒有表示單個字元的字元型!

字串直接量:

由單引號或者雙引號括起來的字串序列。

轉義字元:

在js中反斜槓(\)有著特殊的作用,在反斜槓後邊新增乙個字元,就不在表示其字面含義 比如 \n。

在我們需要在單引號的範圍內在使用其他單撇,這時候,轉義字元的左右就出現了!

具體的轉義字元表,本部落格不進行介紹!

全域性物件(global object)在js中有非常重要的作用,全域性物件的屬性是全域性定義的符號,js可以直接使用。

全域性屬性:undefined、infinity、nan

全域性函式:isnan()、parseint()、eval()

全域性物件:math、json等等

在js中使用乙個變數應該先宣告

當我們沒有在var宣告語句中給變數設定初值,那麼他的初始值是undefined

注:當我們去讀取乙個沒有宣告的變數的值,此時js會報錯,給乙個沒有宣告的變數去賦值也是會報錯的,但是在非嚴格模式下,其實當我們給乙個未宣告的變數賦值,js會給全域性物件建立乙個同名屬性,並且他工作起來像乙個正確的變數,因此咱們可以使用它。

在js中, 全域性變數擁有全域性作用域,區域性變數擁有區域性作用域,同時在函式體內部,區域性變數的優先順序高於同名的全域性變數。

注:在js中任何地方都可以宣告全域性變數,全域性變數宣告可以不使用var關鍵字,但是宣告區域性變數必須使用var關鍵字!!!

JavaScript中的變數型別

問題 1 js中使用 typeof 能得到哪些變數型別?2 何時使用 何時使用 3 js中有哪些內建函式?4 js變數按照儲存方式區分為那些型別,並描述其特點 5 如何理解json 分析 變數型別 值型別 引用型別 引用型別 物件 陣列 函式 typeof 只能區分具體的值型別 undefined ...

JavaScript基礎 變數 資料型別

一 變數 和 常量建立及使用 1 什麼是變數?變數是記憶體中一塊儲存乙個資料的空間,再給這個空間起乙個名字 程式中的所有資料都要儲存在變數中,可以反覆使用 2 使用變數 1 賦值 2步 第一步,建立變數,宣告建立乙個新的變數 語法 var 變數名 僅宣告,未賦值的變數,預設值為undefined 變...

Javascript 函式和變數提公升

變數提公升和函式提公升基本上是面試必問題目 先從乙個面試題說起 console.log a if a function a console.log a a 複製 下面我們針對這個栗子解析一下 我們知道變數和函式定義都會提公升到作用域最前邊 唯一需要確認的是變數和函式的先後順序 我們預想 函式是用第一...