JS原始值和引用值
阿新 • • 發佈:2021-12-25
原始值->基本型別
Number String Boolean undefined null
儲存在棧(stack)中的簡單資料段,也就是說,它們的值直接儲存在變數訪問的位置
動態語言->指令碼語言->解釋型語言->弱型別語言
靜態語言->編譯型語言->強型別語言
null 空值 初始化元件 函式 銷燬函式 佔位
引用值
object array function date RegExp
如果一個值是引用型別的,那麼它的儲存空間將從堆中分配。由於引用值的大小會改變,所以不能把它放在棧中,否則會降低變數查尋的速度。相反,放在變數的棧空間中的值是該物件儲存在堆中的地址。地址的大小是固定的,所以把它儲存在棧中對變數效能無任何負面影響。
ex
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>D1</title> </head> <body> <script type="text/javascript"> var arr1 = [1,2,3,4]; var arr2 = arr1; //arr1.push(5);//此時列印arr2為1,2,3,4,5 arr1 = [1,2];//重新賦值不會影響arr2 document.write(arr2); </script> </body> </html>