這次帶給大家js基礎提升學習之基本資料型別,使用js基本資料型別的注意事項有哪些,以下就是實戰案例,一起來看一下。
javascript的資料型別分為兩大類型:
1、基本資料型態:
字串(String)
數字(Number):
布林(Boolean):true、false
undefined:未定義
## null:空##p# 10),回傳false,代表的是不是個數字,你傳數字就報錯)2、引用資料型態(物件/符合資料型別): 繼承Object#js中物件是一組屬性與方法的集合。這裡就要說到引用類型了,引用類型是一種資料結構,用於將資料和功能組織在一起。引用型別有時也被稱為物件定義,因為它們描述的是一類物件所具有的屬性和方法
。基本資料型態:
#2、浮點比整數型高,輸出12.3
#4、布林:
----------------------- ----------------------------------基本資料類型補充分析----------- ------------------------------------------------
type of 123 //Number type of 'abc' //String type of true //Boolean type of undefined //Undefined type of null //Object type of { } //Object type of [ ] //Object type of console.log() //Functionnull型別進行typeof運算子後,結果是object,原因在於,null型別被當作一個空物件參考。 1.Number型別Number型別包含整數與浮點數(浮點數數值必須包含一個小數點,且小數點後面至少有一位數字)兩種值。 NaN:非數字型。特點:① 涉及的 任何關於NaN的操作,都會返回NaN ② NaN不等於自身。 isNaN() 函數用來檢查其參數是否是非數字值。
isNaN(123) //false isNaN("hello") //true2.String類型字串有length屬性。 字串轉換:轉型函數String(),適用於任何資料類型(null,undefined 轉換後為null和undefined);toString()方法(null,defined沒有toString( )方法)。 3.Boolean類型此型別只有兩個值,true和false4.Undefined型別只有一個值,即undefined值。使用var宣告了一個變量,但未給變量初始化值,那麼這個變數的值就是undefined。 5.Null型別null型別被看做空物件指針,前文說到null型別也是空的物件引用。 6.Object型別js中物件是一組屬性與方法的集合。這裡就要說到引用類型了,引用類型是一種資料結構,用於將資料和功能組織在一起。引用型別有時也被稱為物件定義,因為它們描述的是一類物件所具有的屬性和方法。 三大引用型別:1.Object型別我們看到的大多數型別值都是Object型別的實例,而建立Object實例的方式有兩種。 第一種是使用new運算元後面跟著Object
建構子
,如下圖var person = new Object(); person.name = "Micheal"; person.age = 24;第二種方式是使用物件字面量表示法,如下所示
var person = { name : "Micheal", age : 24 };2.Array類型數組的每一項可以用來保存任何類型的數據,也就是說,可以用數組的第一個位置來保存字串,第二個位置保存數值,第三個位置保存物件....另外,陣列的大小是可以動態調整的。 建立陣列的基本方式有兩種第一種是使用Array建構函數,如下所示
var colors = new Array("red","blue","yellow");第二種是使用陣列字面表示法,如下所示
var colors = ["red","blue","yellow"];3 Function類型每個函數都是Function類型的實例,而且都與其他引用型別一樣具有屬性和方法。函數通常是
使用函數
聲明語法定義的,如下所示function sum(num1,num2){ return num1 + num2; };這和使用函數表達式定義函數的方式相差無幾。
var sun = function (){ return sum1 + sum2; };
也就是说,js按照存储方式分为值类型和引用类型。那么他们的计算有什么区别呢?
题目1:
var a = 100; var b = a; a = 200; console.log (b);
题目2:
var a = {age : 20}; var b = a; b.age = 21; console.log (a.age);
题目1的答案是 100,题目2的答案是21,
题目1是简单的值类型,在从一个变量向另一个变量赋值基本类型时,会在该变量上创建一个新值,然后再把该值复制到为新变量分配的位置上。
此时,a中保存的值为 100 ,当使用 a 来初始化 b 时,b 中保存的值也为100,但b中的100与a中的是完全独立的,该值只是a中的值的一个副本,此后,这两个变量可以参加任何操作而相互不受影响。也就是说基本类型在赋值操作后,两个变量是相互不受影响的。
题目2是引用类型,当从一个变量向另一个变量赋值引用类型的值时,同样也会将存储在变量中的对象的值复制一份放到为新变量分配的空间中。
这时保存在变量中的是对象在堆内存中的地址,所以,与简单赋值不同,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,
两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响。
因此,引用类型的赋值其实是对象保存在栈区地址指针的赋值,因此两个变量指向同一个对象,任何的操作都会相互影响。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是js基礎提升學習之基本資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!