1、值類型與引用類型區別 2、裝箱拆箱 裝箱:值類型轉換成引用類型。將值類型從棧上拷貝到堆上,將地址返回; 拆箱:引用類型轉換成值類型。將引用類型的數據拷貝到棧上。 3、JS遍歷 for語句:和c#一樣 in語句: .each: ...
1、值類型與引用類型區別
值類型 | 引用類型 | |
存儲方式 | 直接存儲值本身 | 存儲數據的引用,數據存在數據堆上 |
記憶體分配 | 分配在棧上 | 分配在堆上 |
記憶體回收 | 用完直接回收 | 不會直接加收,通過GC機制回收 |
實例分配 | 一般是存在棧上如果是類的屬性也有可能隨類存在堆上 | 一定分配在堆上 |
效率 | 不需要地址轉換效率高 | 需要進行地址轉換效率低 |
賦值操作 | 直接創建對象 | 創建對象的引用 |
2、裝箱拆箱
裝箱:值類型轉換成引用類型。將值類型從棧上拷貝到堆上,將地址返回;
拆箱:引用類型轉換成值類型。將引用類型的數據拷貝到棧上。
3、JS遍歷
for語句:和c#一樣
for (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); }
in語句:
var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }
.each:
$("li").each(function(){ alert($(this).text()) });