淺析JS原始值和引用值問題
原始值->基本類型
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>
到此這篇關於JS原始值和引用值 的文章就介紹到這瞭,更多相關JS原始值和引用值 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!