導航:首頁 > 編程語言 > js有沒有string類型

js有沒有string類型

發布時間:2023-08-14 16:14:46

⑴ 在js中String 和string什麼區別

這兩個可以說除了字元串長度相同,沒有任何共同點:

  1. js區分大小寫,所以他們兩個不是一回事。

  2. String 是構造函數,string是變數的一個類型

  3. typeof String 是function, typeof string 是 string

  4. String('xxx') 返回的是一個字元串。String有屬性和方法,而string沒有。

javascript 有幾種數據類型

Javascript的數據類型有:

1. Number 數字類型

2. String 字元串類型

3. Boolean 布爾類型

4. Function 函數

5. Object 對象

6. Null

7. Undefined 沒有定義類型




ECMAScript中有5中簡單數據類型(也稱為基本數據類型):Undefined、Null、Boolean、Number和String。還有1中復雜的數據類型————Object,Object本質上是由一組無序的名值對組成的。

其中Undefined、Null、Boolean、Number都屬於基本類型。Object、Array和Function則屬於引用類型,String有些特殊,具體的會在下面展開分析。

變數

ECMAScript中用var關鍵字來定義變數,因為js是弱類型的,所以無法確定變數一定會存儲什麼值,也就不知道變數到底會是什麼類型,而且變數的類型可以隨時改變。

這就是ECMAScript是鬆散類型的來由,所謂鬆散類型就是可以用來保存任何類型的數據。

ps:
es6中新增了let命令來聲明變數、const命令聲明一個只讀的常量。

let的用法類似於var,但是所聲明的變數,只在let命令所在的代碼塊內有效。

const一旦聲明,常量的值就不能改變。

關於let、const這里不做展開討論,可以參考阮一峰 - ECMAScript 6 入門

typeof 操作符

由於js中的變數是鬆散類型的,所以它提供了一種檢測當前變數的數據類型的方法,也就是typeof關鍵字.
通過typeof關鍵字,對這5種數據類型會返回下面的值(以字元串形式顯示)
undefined---------- 如果值未定義Undefined

boolean---------- 如果這個值是布爾值Boolean

string---------- 如果這個值是字元串String

number---------- 如果這個值是數值類型Number

object---------- 如果這個值是對象或nullObject

需要注意的是typeof null返回為object,因為特殊值null被認為是一個空的對象引用。

Undefined

Undefined類型只有一個值,即特殊的undefined。在使用var聲明變數但未對其加以初始化時,這個變數的值就是undefined。不過,一般建議盡量給變數初始化,但是在早期的js版本中是沒有規定undefined這個值的,所以在有些框架中為了兼容舊版瀏覽器,會給window對象添加undefined值。

window['undefined'] = window['undefined'];
//或者
window.undefined = window.undefined;

Null

Null類型是第二個只有一個值的數據類型,這個特殊的值是null。從邏輯角度來看,null值表示一個空對象指針,而這也正是使用typeof操作符檢測null時會返回object的原因。

var car = null;
console.log(typeof car); // "object"

如果定義的變數准備在將來用於保存對象,那麼最好將該變數初始化為null而不是其他值。這樣一來,只要直接檢測null值就可以知道相應的變數是否已經保存了一個對象的引用了。
例如:

if(car != null){
//對car對象執行某些操作
}

實際上,undefined值是派生自null值的,因此ECMA-262規定對它們的相等性測試要返回true。

console.log(undefined == null); //true

盡管null和undefined有這樣的關系,但它們的用途完全不同。無論在什麼情況下都沒有必要把一個變數的值顯式地設置為undefined,可是同樣的規則對null卻不適用。換句話說,只要意在保存對象的變數還沒有真正保存對象,就應該明確地讓該變數保存null值。這樣做不僅可以體現null作為空對象指針的慣例,而且也有助於進一步區分null和undefined。

Boolean

該類型只有兩個字面值:true和false。這兩個值與數字值不是一回事,因此true不一定等於1,而false也不一定等於0。

雖然Boolean類型的字面值只有兩個,但JavaScript中所有類型的值都有與這兩個Boolean值等價的值。要將一個值轉換為其對應的Boolean值,可以調用類型轉換函數Boolean(),例如:

var message = 'Hello World';
var messageAsBoolean = Boolean(message);

在這個例子中,字元串message被轉換成了一個Boolean值,該值被保存在messageAsBoolean變數中。可以對任何數據類型的值調用Boolean()函數,而且總會返回一個Boolean值。至於返回的這個值是true還是false,取決於要轉換值的數據類型及其實際值。下表給出了各種數據類型及其對象的轉換規則。

數據類型

轉換為true的值

轉換為false的值

Boolean true false

String 任何非空的字元串 ""(空字元串)

Number 任何非0數值(包括無窮大) 0和NAN

Object 任何對象 null

Undefined 不適用 undefined

var message = 'Hello World';
if(message)
{
alert("Value is true");
}

運行這個示例,就會顯示一個警告框,因為字元串message被自動轉換成了對應的Boolean值(true)。由於存在這種自動執行的Boolean轉換,因此確切地知道在流控制語句中使用的是什麼變數至關重要。

ps:使用!!操作符轉換布爾值
!!一般用來將後面的表達式強制轉換為布爾類型的數據(boolean),也就是只能是true或者false;

對null與undefined等其他用隱式轉換的值,用!操作符時都會產生true的結果,所以用兩個感嘆號的作用就在於將這些值轉換為「等價」的布爾值;

var foo;
alert(!foo);//undifined情況下,一個感嘆號返回的是true;
alert(!goo);//null情況下,一個感嘆號返回的也是true;
var o={flag:true};
var test=!!o.flag;//等效於var test=o.flag||false;
alert(test);

這段例子,演示了在undifined和null時,用一個感嘆號返回的都是true,用兩個感嘆號返回的就是false,所以兩個感嘆號的作用就在於,如果明確設置了變數的值(非null/undifined/0/」「等值),結果就會根據變數的實際值來返回,如果沒有設置,結果就會返回false。

還有其他的小技巧,可以參考這12個JavaScript技巧

Number

這種類型用來表示整數和浮點數值,還有一種特殊的數值,即NaN(非數值 Not a Number)。這個數值用於表示一個本來要返回數值的操作數未返回數值的情況(這樣就不會拋出錯誤了)。例如,在其他編程語言中,任何數值除以0都會導致錯誤,從而停止代碼執行。但在JavaScript中,任何數值除以0會返回NaN,因此不會影響其他代碼的執行。

NaN本身有兩個非同尋常的特點。首先,任何涉及NaN的操作(例如NaN/10)都會返回NaN,這個特點在多步計算中有可能導致問題。其次,NaN與任何值都不相等,包括NaN本身。例如,下面的代碼會返回false。

alert(NaN == NaN); //false

String

String類型用於表示由零或多個16位Unicode字元組成的字元序列,即字元串。字元串可以由單引號(')或雙引號(")表示。

String類型的特殊性

string類型有些特殊,因為字元串具有可變的大小,所以顯然它不能被直接存儲在具有固定大小的變數中。由於效率的原因,我們希望JS只復制對字元串的引用,而不是字元串的內容。但是另一方面,字元串在許多方面都和基本類型的表現相似,而字元串是不可變的這一事實(即沒法改變一個字元串值的內容),因此可以將字元串看成行為與基本類型相似的不可變引用類型

Boolean、Number、String 這三個是Javascript中的基本包裝類型,也就是這三個其實是一個構造函數,他們是Function的實例,是引用類型,至於這里的String與以上說的String是同名,是因為其實上文說的String是指字元串,這里的String指的是String這個構造函數,上面那麼寫,是為了更好的理解,因為Javascript是鬆散類型的。我們可以看下String實例化的例子:

var name = String("jwy");
alert(typeof name);//"object"
var author = "Tom";
alert(typeof name);//"string"

至於author這個會有length,substring等等這些方法,其實是String這里的方面,string只是String的一個實例,類似於C#中的String,和string,只不過這里特殊一點。

注意,typeof 變數 如果值是"string" 的話,也就是這個變數是字元串,在Javascript中,字元串是基本類型,而在C#或Java中,字元串是引用類型,但是Javascript中的String是引用類型,因為它是Javascript中定義好的基本包裝類型,在C#中,String跟string其實是一樣的。

是不是有點繞?具體的引用類型和值類型的解析看這里javascript的基本類型和引用類型

來源:www.cnblogs.com/phillyx/p/5603738.html

⑶ javascript的數據類型有幾種

Javascript的數據類型來有:自

1. Number 數字類型

2. String 字元串類型

3. Boolean 布爾類型

4. Function 函數

5. Object 對象

6. Null

7. Undefined 沒有定義類型

⑷ js常用的數據類型有哪些

js基本的數據類型 :數字類型,字元串型,布爾型,undefined,null ,對象類型,數組

1、數字類型(Number)
只有一種數字類型,數字 可以是小數 ,也可以的整數
以0開頭 默認使用8進制來表示我的這個數字
以0x開頭 默認使用16進制來表述我的這個數字
如果以-開頭 默認以負數
如果我帶有e:以科學計數法來解析我的這個數字

2、字元串型(string)
字元串是存儲字元的變數,用來表示文本的數據類型,程序中的字元串是包含單引號/雙引號的,由單引號來界定我雙引號中包含的字元串 反過來
es6模板字元串("`")

3、布爾類型(boolean)

一般是用在流程式控制制語句中,字元串和數字類型都是無窮多個,然而我們的布爾數據類型只有兩個:true 和 false
這兩個個值一般用於說明某個事物是真或者假
js一般用布爾類型來比較所得到的結果

4、null(空)

關鍵字null是一個特殊的值,它表示變數為空值,用來定義空的或者是不存在的引用。
如果試圖去引用一個沒有定義的值,就會返回一個null。
這里注意一點:null並不等於"" 或者0

5、undefined(未定義)
這個值表示變數不含有值,沒有定義的值,或者被定義了一個不存在的屬性值

⑸ JS中都有哪些數據類型

js中有5種數據類型:Undefined、Null、Boolean、Number和String。x0dx0a還有一種復雜的數據類型Object,Object本質是一組無序的名值對組成的。x0dx0aUndefined類型只有一個值,即undefined,使用var聲明變數,但是未對初始化的,這個變數就是Undefined類型的,例子:x0dx0avar x0dx0ai;x0dx0aalert(i == undefined);//truex0dx0avar i;與var i = x0dx0aundefined;這兩句是等價的。x0dx0a包含Undefined值的變數和未定義的變數是不一樣的。x0dx0aNull類型也只有一個值:null.null表示一個空對象的指針。x0dx0aBoolean類型:只有兩個字面量true和false。但是js中多有的變數都可以使用Boolean()函數轉換成一個Boolean類型的值。x0dx0aNumber類型:整數和浮點數。NaN:Not x0dx0aa Number。這個數值用於本來要返回一個數值,但是卻未能放回一個數值的情況,以防止報錯。例如:1/0 x0dx0a返回的就是NaN。NaN的特點:1、任何涉及NaN的操作都會返回NaN。2、NaN對任何值都不相等,包括自己NaN本身。x0dx0a針對NaN特性,JS內置了isNaN()函數,來確定數值是不是NaN類型。x0dx0aString類型:略x0dx0atypeof操作符:對一個變數進行推斷變數的類型,可能返回以下字元串:x0dx0a"undefined" x0dx0a如果這個值,未定義或者為初始化x0dx0a"boolean" 布爾值x0dx0a"string" 字元串x0dx0a"number" 數值x0dx0a"object" x0dx0a對象x0dx0a"function" 函數x0dx0a用法:typeof 95; 或者 typeof(95); 會返回"number".

⑹ javascript的基本數據類型有哪些

js中有六種數據類型,包括五種基本數據類型(Number,String,Boolean,Null,Undefined),和一種混合數據類型(Object)

⑺ javascript裡面的數據類型有哪些

一、六個基礎數據類型:
字元
數字
布爾
對象
null
undefined
二、其中對象數據類型常用的又有:
數組
函數
正則表達式
日期
普通意義的數組

注:ES6 又新增了第七種 Symbol 類型

⑻ JavaScript數據類型有幾種

在ES5的時候,我們認知的數據類型確實是 6種:Number、String、Boolean、undefined、object、Null。
ES6 中新增了一種 Symbol 。這種類型的對象永不相等,即始創建的時候傳入相同的值,可以解決屬性名沖突的問題,做為標記。
谷歌67版本中還出現了一種 bigInt。是指安全存儲、操作大整數。(但是很多人不把這個做為一個類型)。
JS數據類型:JS 的數據類型有幾種?
     8種。Number、String、Boolean、Null、undefined、object、symbol、bigInt。
JS數據類型:Object 中包含了哪幾種類型?
      其中包含了Data、function、Array等。這三種是常規用的。
JS數據類型:JS的基本類型和引用類型有哪些呢?
    基本類型(單類型):除Object。 String、Number、boolean、null、undefined。
    引用類型:object。裡麵包含的 function、Array、Date。

閱讀全文

與js有沒有string類型相關的資料

熱點內容
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303
手機qq令牌 瀏覽:737
cg原畫上色教程 瀏覽:993
婚介服務中心app怎麼做 瀏覽:43
日本蘋果66g多少錢 瀏覽:93
個性的文件夾名稱 瀏覽:697
怎麼設置文件打開密碼 瀏覽:811
手機版qq客服代碼怎麼用 瀏覽:24
fme可以打開哪些文件 瀏覽:339
好看的qq密碼 瀏覽:293
安卓唯一標識有哪些 瀏覽:243
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903
ps修改有褶皺的文件 瀏覽:417

友情鏈接