JS基礎語法---(數據)簡單類型和複雜類型

来源:https://www.cnblogs.com/jane-panyiyun/archive/2019/12/02/11970987.html

原始數據類型: number, string, boolean, undefined, null, object 基本類型(簡單類型), 即值類型: number, string, boolean 複雜類型(引用類型): object 空類型:undefined, null 存儲空間 值類型的值在哪 ...


  1.     原始數據類型: number, string, boolean, undefined, null, object

  2.     基本類型(簡單類型), 即值類型: number, string, boolean

  3.     複雜類型(引用類型): object

  4.     空類型:undefined, null

 

存儲空間

值類型的值在哪一塊空間中存儲? 棧中存儲
引用類型的值在哪一塊空間中存儲? 對象在堆上存儲, 地址在棧上存儲
 
見下圖:

 

 值類型和引用類型的傳遞

 判斷下麵的值:

練習1:

       var num1 = 10;
       var num2 = num1;
       num1 = 20;
       console.log(num1);//20
       console.log(num2);//10

 

練習2:

       var num = 50;
       function f1(num) {
         num = 60;
         console.log(num);//60
       }
       f1(num); //50
       console.log(num);//50

 

 練習3:

       var num1 = 55;
       var num2 = 66;
       function f1(num, num1) {
         num = 100;
         num1 = 100;
         num2 = 100;
         console.log(num);//100
         console.log(num1);//100
         console.log(num2);//100
       }
    
       f1(num1, num2);
    
    
    
       console.log(num1);//55
       console.log(num2);//100
       console.log(num);// 報錯

 

練習4:

    function Person(name, age, salary) {
      this.name = name;
      this.age = age;
      this.salary = salary;
    }
    function f1(person) {
      person.name = "ls";
      person = new Person("aa", 18, 10);
    }

    var p = new Person("zs", 18, 1000);
    console.log(p.name); //zs
    f1(p);
    console.log(p.name); //ls

 

畫圖理解:

 

 


您的分享是我們最大的動力!

更多相關文章
  • <input /> 標簽是我們日常開發中非常常見的替換元素了,但是最近在刷 whattwg 跟 MDN 的時候發現 跟 <input /> 有很多相關的屬性,選擇器都沒怎麼用過,所以就開篇文章來整理一下一些比較有趣或者實用的知識點。 本篇文章預設大家已經知道 <input /> 標簽的基本用法,不會 ...
  • js日期函數 ...
  • 在用Layui table 分頁顯示數據,用 type:"numbers" 進行顯示序號有以下的問題 1、表格自帶的分頁,page:true 這種分頁,在切換頁面的時候序號可以正常進行增加顯示,代碼如下: 顯示效果,第二頁的起始序號不是1 2、page組件進行分頁 這種分頁,在切換頁面的時候序號一種 ...
  • 在Canvas中進行碰撞檢測,大家往往直接採用游戲引擎(Cocos2d-JS、Egret)或物理引擎(Box2D)內置的碰撞檢測功能,好奇的你有思考過它們的內部運行機制嗎?下麵將針對基本的碰撞檢測技術進行講解: 1、基於矩形的碰撞檢測 所謂碰撞檢測就是判斷物體間是否發生重疊,這裡我們假設討論的碰撞體 ...
  • 為什麼要配置babel? 因為在webpack中,預設只能處理一部分es6的語法,一些更高級的es6和es7語法webpack不能處理,這時就需要第三方的loader即babel來幫助webpack來處理這些高級的語法 配置步驟 1、先通過兩套命令來安裝loader: npm i babel-cor ...
  • 推薦查看MDN 線上的幫助文檔 實例對象: 通過構造函數創建出來,實例化的對象 靜態對象: 不需要創建,直接就是一個對象,方法(靜態方法)直接通過這個對象名字調用 實例方法必須通過實例對象調用 靜態方法必須通過大寫的對象調用 Math.PI π Math.E 常數的底數 Math.abs(值) 絕對 ...
  • js學習中三種對象: 內置對象 js系統自帶的對象 自定義對象 自己定義的構造函數創建的對象 瀏覽器對象 BOM的時候講 內置對象: Math Date String Array Object //如何驗證變數是不是對象? console.log(Array instanceof Object); ...
  • 構建表格 表格的基本元素包括:table、tr和td。table表示HTML文檔中的表格,支持border屬性,用於定義表格邊框的寬度;tr表示表格中的行;td表示表格中的單元格,包括如下屬性:1)colspan:規定單元格可橫跨的列數;2)rowspan:規定單元格可橫跨的行數; <table> ...
一周排行
x