目錄
概述:
變量:
前言:
變量的命名:
定義變量:
為變量賦值:
變量提升:
let和const關(guān)鍵字:
JS數(shù)據(jù)類型:
前言:
typeof操作符:
JS基本數(shù)據(jù)類型:
String(字符串):
Number(數(shù)值):
Boolean(條件):
Null(空):
Undefined(未定義):
Symbol(獨(dú)一無二):
JS引用數(shù)據(jù)類型:
Object(對象):
Array(數(shù)組):
Function(函數(shù)):
概述:
????????在JavaScript中我們可以使用變量來存儲數(shù)據(jù),而我們存儲的數(shù)據(jù)又可以分為:字符串,數(shù)字,布爾值,數(shù)組等,并可以更改變量的值,因?yàn)樽兞咳缙涿勺兊牧俊?shù)據(jù)類型,指的是對數(shù)據(jù)進(jìn)行操作時(shí)數(shù)據(jù)的類型,不同的數(shù)據(jù)可以使用不同的類型來存儲,如123這個(gè)數(shù)值,或者'字'文本等等。如下圖所示:JavaScript簡介-CSDN博客?還可以參考:C語言操作符和數(shù)據(jù)類型的存儲詳解_f2(&b)運(yùn)算的是主函數(shù)還是調(diào)用函數(shù)-CSDN博客
變量:
前言:
????????在編程中我們要對數(shù)據(jù)進(jìn)行操作就很難離開變量這個(gè)東西,因?yàn)槲覀兊糜袛?shù)據(jù)才能對數(shù)據(jù)進(jìn)行操作而有數(shù)據(jù),數(shù)據(jù)又該放到哪里,所以就使用變量來存儲數(shù)據(jù),變量可以存儲字符串("abc"),數(shù)字(123),布爾值(true,false),數(shù)組等等,并且我們可以隨時(shí)讀取變量的值,和修改變量的值。變量是一個(gè)可變的量。
變量的命名:
在JavaScript我們?nèi)粝攵x變量,那就需要遵循以下命令規(guī)則。如下:
- 變量名中可以有數(shù)字(134),字母(abcd),下劃線(_),美元符($).
- 變量名中不能出現(xiàn)中文(不能使用中文)。
- 變量名中不能包含空格(如:a? b? ?這種是錯(cuò)誤的)。
- 變量不能是JavaScript中的關(guān)鍵字,保留字(如:var var)。
- 變量名不能以數(shù)字開頭,如:(1abd? 錯(cuò)誤 )? ?(ab1? 正確)。
????????我們在定義變量的時(shí)候,要使變量有意義,這樣更容易讓他人看懂,如name就是名字意思我們可以使用這個(gè)變量來存儲名字,不能是awe這樣用這個(gè)來存儲名字,這樣雖然并無問題,但是別人看不明白你這玩意存的是啥。
定義變量:
在JavaScript中我們可以使用var關(guān)鍵字來定義變量,其語法格式如下:
?var 變量名;
如下幾個(gè)例子:
var name;//定義了變量name
var age;//定義了變量age
var gender;//定義了變量gender
????????定義變量時(shí),可以一次定義幾個(gè)變量,或者一次一個(gè)的定義(如上),如果一次要定義多個(gè)變量,那么變量名之間要使用逗號,進(jìn)行分開,如下所示:
var name,age,gender;//一次性定義了多個(gè)變量
定義完變量后,如果沒有賦值,那么變量的默認(rèn)值會是undefined(未定義)。
為變量賦值:
????????我們定義變量的時(shí)候,可以使用等于號=來給變量賦值,等號左邊是變量的名字,等號右邊是變量的值,如下所示:
var age=15;//定義了age變量,并賦予了初始值15
????????我們定義完變量之后也可以使用=等于號來給變量賦值,等號左邊是變量的名字,等號右邊是變量的值,如下所示:
var age;//定義了變量age
age=20;//給變量age賦值20
變量提升:
? ? ? ? JavaScript在預(yù)編譯期會先預(yù)先處理聲明的變量,但是變量的賦值操作發(fā)生在JavaScript執(zhí)行期,而不是預(yù)編譯期。
document.write(name);//打印name變量里面的值
name = "wee";//給name變量賦予一個(gè)值:wee
document.write(name);//打印此時(shí)name變量里面的值
var name;//聲明一個(gè)name變量
????????在上述代碼中我們把聲明放在了最后面,而賦值操作放到了聲明的前面,由于JavaScript在預(yù)編譯期已經(jīng)對變量聲明語句進(jìn)行了預(yù)解析,所以第一行代碼使用變量的時(shí)候不會報(bào)錯(cuò),而是因?yàn)闆]有初始化返回一個(gè)undefined。第三行是在賦值之后使用的,所以為wee。
????????JavaScript引擎的解析方式是:先解析代碼,獲取所有被聲明的變量,然后再一行一行地運(yùn)行。這樣,所有聲明的變量都會被提升到代碼的頭部,這就叫做變量提升(Hoisting).
let和const關(guān)鍵字:
????????2015年以前,JavaScript只能通過var關(guān)鍵來聲明變量,在ECMAScript6(ES6)發(fā)布之后,新增了let和const兩個(gè)關(guān)鍵字來聲明變量,其中:
- ?使用let關(guān)鍵字聲明的變量只能在它所在的代碼塊中有效(類似局部變量),并且在這個(gè)代碼塊中,同名的變量不能重復(fù)聲明。
if (2 == 2) {//判斷為真就進(jìn)入
let age = 15;//定義了age這個(gè)變量 并賦值為15
console.log(age)//打印age
let age=23;//不能重復(fù)定義 所以報(bào)錯(cuò)
}
console.log(age)//打印 報(bào)錯(cuò)因?yàn)閍ge是在if域里面的,在外面并沒有age
重名報(bào)錯(cuò)。?
????????如下運(yùn)行結(jié)果:我們進(jìn)入if的域中?定義了age變量,然后打印了age的值15,后面又在if域外面打印此時(shí)age只作用于if內(nèi)所以打印報(bào)錯(cuò)。
?
- const關(guān)鍵字的功能和let相同,但使用const關(guān)鍵字聲明的變量還具備另外一個(gè)特點(diǎn),那就是使用const關(guān)鍵字定義的變量,一旦定義好就不可以修改(使用const關(guān)鍵字定義的為常量)。
const time = 2011;
console.log(time)
time = 23;
?因?yàn)槭褂?span style="color:#956fe7;">const定義的是常量,常量是不可以修改的量,所以修改時(shí)會報(bào)錯(cuò)。
JS數(shù)據(jù)類型:
前言:
????????我們存儲數(shù)據(jù)的時(shí)候一般有一個(gè)基本的類型,每種編程語言都有各自支持的數(shù)據(jù)類型,不同的數(shù)據(jù)類型可以存儲不同的數(shù)據(jù),如文本,數(shù)字,布爾值等等。
????????在JavaScript我們定義數(shù)據(jù)的時(shí)候,不需要聲明變量的類型,在JavaScript中變量的類型是相對于里面的類型來確定的,如下:
var age;//此時(shí)age的類型為undefined,因?yàn)闆]有任何東西
age=19;//此時(shí)類型為數(shù)值類型(Number)
age ="13";//此時(shí)為字符串類型(String)
在JavaScript里的數(shù)據(jù)可以分為兩類:
- 基本數(shù)據(jù)類型(值類型):字符串(String),數(shù)字(Number),布爾(Boolean),空(Null),未定義(Undefined),Symbol(表示一種獨(dú)一無二的值);
- 引用數(shù)據(jù)類型:對象(Object),數(shù)組(Array),函數(shù)(Function)。
typeof操作符:
????????typeof操作符可以返回?cái)?shù)據(jù)的類型,使用typeof操作符的時(shí)候可以帶括號也可以不帶括號。如下兩種示例代碼:
typeof arr;//獲取arr的這個(gè)變量的數(shù)據(jù)類型
typeof(arr);//獲取arr這個(gè)變量的數(shù)據(jù)類型
如果arr是一個(gè)對象那個(gè)運(yùn)行結(jié)果如下所示:
JS基本數(shù)據(jù)類型:
String(字符串):
????????在js中String是字符串類型它的數(shù)據(jù)常常使用一對單引號' '或者雙引號" "包裹起來,如:'a',"arr".其中的引號并不是字符串的一部分。
????????我們?nèi)绻谧址锩婕右枺托枰褂?strong>\來給引號進(jìn)行轉(zhuǎn)義,這樣引號就會被判斷為字符串的一部分了。代碼示例如下:
var arr = "我并不會使用\"電腦";
var arr = "我并不會使用\'電腦";
上述代碼的示例如下:?
?
Number(數(shù)值):
????????number在js中是一種數(shù)字類型,在JavaScript并不區(qū)分整數(shù)根小數(shù)(浮點(diǎn)數(shù)),他們都是number類型,其示例代碼如下:
var num1=5;//整數(shù)
var num2=5.134;//小數(shù)
????????在js中number大小是有限的,他們的范圍是:-(--1)到(-1)之間的。 我們可以使用科學(xué)(指數(shù))計(jì)數(shù)法來表示一個(gè)數(shù)字的大小,如下:
var y=123e5;//表示用123乘以10的5次方,就是12300000
var z=123e-5;//表示用123乘以10的-5次方,即0.00123
????????在number中除了整數(shù)和小數(shù)還有一些其他的數(shù)值,如Infinity(表示正無窮大),-Infinity(表示負(fù)無窮大)還有NaN(表示無效或者未定義的數(shù)學(xué)運(yùn)算結(jié)構(gòu),如0除0)。如果一個(gè)數(shù)值超過了number的范圍那這個(gè)數(shù)值就會自動變?yōu)?span style="color:#956fe7;">Infinity(正數(shù)超出)或者-Infinity(負(fù)數(shù)超出)。
????????如下幾個(gè)示例:其中第一個(gè)arr的值是無窮大減一還是無窮大,arr1的值使用了科學(xué)計(jì)數(shù)法也就是2乘以10的23523次方超出了范圍也變成了無窮大,第三個(gè)是2乘以10的33次方并沒有超出范圍所以還是可以計(jì)算的。
Boolean(條件):
在js中我們可以使用boolean來存儲真(True),假(False),常常使用在判斷中,我們除了可以直接使用true或者false來定義真假外還可以使用一些表達(dá)式來得到布爾值。示例如下:
Null(空):
Null就是一個(gè)空值,不是那種沒有定義他可以來定義空對象指針。我們還可以使用typeof來查看Null的類型,可以發(fā)現(xiàn)Object,說明Null是一個(gè)Object(對象)的一種值,所以我們可以通過將變量賦值為Null創(chuàng)建了一個(gè)空的對象。示例如下:
Undefined(未定義):
在js中我們?nèi)绻麤]有給變量賦值那這個(gè)變量的值默認(rèn)值就是undefined,如下:
var arr;
var arr1;
上述代碼示例如下:?
Symbol(獨(dú)一無二):
?在js中使用symbol來表示一種獨(dú)一無二的值,我們使用Symbol()函數(shù)來生成,如下所示:
var arr=62;
var arr1=Symbol(arr);
var arr2=Symbol(arr);
上述代碼的示例如下:第一塊arr是一個(gè)整數(shù)62,后面我們定義arr1的時(shí)候使用了Symbol來定義,可以看到arr1是Symbol(62)它的類型可以在第5塊中看到是symbol,后續(xù)我們使用arr1和arr2來對比因?yàn)樗麄兌际仟?dú)一無二的值所以他們對比的結(jié)果肯定是false。?
JS引用數(shù)據(jù)類型:
Object(對象):
在js中對象(Object)類型是一組由鍵:值組成的沒有順序的集合,定義對象的時(shí)候需要使用{}括號,語法如:{arr1:data1,arr2:data2,arr3:data3,......,arrN:dataN};對象類型的鍵他們都是字符串類型,而他們的值可以是任意的數(shù)據(jù)類型,如果我們要獲取對象中某個(gè)值,我們可以使用對象名.鍵的形式,如下所示:
var object = {
arr1: 23,
arr2: 52.263,
arr3: '一個(gè)字符串而已',
arr4: true
}
var arr = [object.arr1, object.arr2, object.arr3, object.arr4]
console.log(arr);
上述代碼的示例如下:
Array(數(shù)組):
數(shù)組是一堆數(shù)據(jù)的集合,它使用用一對[]括起來,里面的數(shù)據(jù)的值可以相同也可以不同,定義一個(gè)數(shù)組的時(shí)候我們需要在賦值的使用使用[]括號把數(shù)據(jù)包圍起來并且里面的數(shù)據(jù)要使用逗號(英文狀態(tài)下的逗號)分開如:arr=['字符串',253,false];其中第一個(gè)數(shù)據(jù)是字符串類型,第二個(gè)數(shù)據(jù)是數(shù)值類型,第三個(gè)數(shù)據(jù)是布爾類型。示例代碼如下:
var arr=['字符串',5286,false];
使用數(shù)組的示例圖如下:?
Function(函數(shù)):
在js中function(函數(shù))是一段不會自動執(zhí)行的代碼段,定義了函數(shù)之后我們需要去調(diào)用定義的函數(shù),函數(shù)里面的代碼才會執(zhí)行,函數(shù)示例代碼如下:
var func = function (name) {
document.write("在函數(shù)內(nèi)部的" + name);
return name;
}
var func1 = func(235);
函數(shù)的使用示例圖:文章來源:http://www.zghlxwxcb.cn/news/detail-860579.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-860579.html
到了這里,關(guān)于JavaScript變量及數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!