(以下是從各種**、同學處整理的前端實習面試題,答案也為自己整理,有錯誤的話歡迎指正)
答:①基本型別:undefined、null、string、number、boolean、symbol(es6)
其中分為普通基本型別和特殊基本型別:
普通基本型別:undefined、null、symbol
特殊基本型別:string、number、boolean
②引用型別:object、array、regexp、date、function
③不同:
基本型別
引用型別
④堆記憶體和棧記憶體
棧:連續儲存,大小固定。特殊地,null屬於object型別,表示乙個空指標物件,但是存在棧記憶體中。
堆:非連續的樹形儲存結構。特殊地,new乙個例項,生成的是乙個物件,即使
var foo = new string("123123")var bar = string("123123")
console.log(a==b, a===b)
會輸出true false,能夠說明new的例項是物件。另外,
var foo = new string("123") var bar = new string("123") console.log(foo==bar, foo===bar)
會輸出false false,這是因為兩者都是儲存在堆記憶體中,但指標指向不一致。
⑤按值訪問和按引用訪問&&按引用比較
基本型別的值是不可變的,比如:
var a = 10;var b =a;
a ++;
console.log(a);
//11
console.log(b); //
10
而引用型別的值可變,比如:
var a = [1,2,3];var b =a;
b.push(4);
alert(b);
//[1,2,3,4]
alert(a); //
[1,2,3,4] 物件型別 : 賦值不僅是值的複製,而且也是引用的傳遞
var a = [1,2,3];
var b =a;
b = [1,2,3,4];
alert(b);
//[1,2,3,4]
alert(a); //
[1,2,3]
var person1 = '{}';var person2 = '{}';
console.log(person1 == person2); //
true
var person1 ={};var person2 ={};
console.log(person1 == person2); //
false
上面一段是字串之間的比較,而下面一段是物件之間的比較。至於false,這是因為引用型別時按引用訪問的,換句話說就是比較兩個物件的堆記憶體中的位址是否相同,那很明顯,person1和person2在堆記憶體中位址是不同的。
一 資料型別
資料超出最大值後得到最小值,超出最小值後得到最大值,本質上是位元組數的限制。char 1位元組,short 2位元組,int 4位元組,unsigned int 4位元組,long 4位元組,long long 8位元組,float 4位元組,double 8位元組 無符號資料範圍 0至2 位元組數...
Kotlin資料型別(一 資料型別)
一 boolean boolean型別有兩種型別的 true flase val a boolean true val b boolean false二 number資料型別 package net.println.kotlin author wangdong description number型...
c primer plus 一 資料型別
1.整數 1位元組 8bit 8bit 可以表示0 255或 128 127 short int long short short int long long int c 的標準 short 至少16bit int 至少與short一樣長 long 至少與int一樣長 float 不比double長...