1. 程式人生 > 程式設計 >淺析JS原始值和引用值問題

淺析JS原始值和引用值問題

原始值->基本型別

Number String Boolean HQqYNieundefined 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/">
        var arr1 = [1,2,3,4];
        var arr2 = arr1;
        //arr1.push(5);//此時列印arr2為1,4,5
        arr1 = [1,2];//重新賦值不客棧
會影響arr2 document.write(arr2); HQqYNie </script> </body> </html>

到此這篇關於原始值和引用值 的文章就介紹到這了,更多相關JS原始值和引用值 內容請搜尋我們以前的文章或繼續瀏覽下面的相關程式設計客棧文章希望大家以後多多支援我們!