JS-day05-5.2

簡單類型和復雜類型的區(qū)別

簡單數(shù)據(jù)類型婉徘,基本類型/值類型,==復雜類型又叫做引用類型==

==值類型==:簡單數(shù)據(jù)類型儒鹿,基本數(shù)據(jù)類型几晤,在存儲時,==變量中存儲的是值本身==圾浅,因此叫做值類型憾朴。

==引用類型==:復雜數(shù)據(jù)類型众雷,在存儲時做祝,==變量中存儲的僅僅是地址(引用)==鸡岗,因此叫做引用數(shù)據(jù)類型。

** 堆和棧**

堆椬莞簦空間分配區(qū)別:
        1炮姨、棧(操作系統(tǒng)):由操作系統(tǒng)自動分配釋放 ,存放函數(shù)的參數(shù)值绅作,局部變量的值等蛾派。其操作方式類似于數(shù)據(jù)結構中的棧洪乍;
        2、堆(操作系統(tǒng)): 存儲復雜類型(對象)岂贩,一般由程序員分配釋放巷波, 若程序員不釋放,由垃圾回收機制回收锉屈,分配方式倒是類似于鏈表垮耳。

注意

JavaScript中沒有堆和棧的概念,此處我們用堆和棧來講解儡炼,目的方便理解和方便以后的學習查蓉。

基本類型在內(nèi)存中的存儲

復雜類型在內(nèi)存中的存儲

基本類型作為函數(shù)的參數(shù)

復雜類型作為函數(shù)的參數(shù)

     // 下面代碼輸出的結果?
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

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
        // 數(shù)據(jù)類型
        // 簡單數(shù)據(jù)類型豌研,基本數(shù)據(jù)類型/值類型
        // Number String Boolean Null Undefined
        // 復雜數(shù)據(jù)類型唬党,引用類型
        // Object
        // 數(shù)據(jù)在內(nèi)存中的存儲:
        // 簡單數(shù)據(jù)類型驶拱,存儲在內(nèi)存中的棧上
        // 復雜數(shù)據(jù)類型晶衷,存儲在內(nèi)存中的堆上
        // 訪問簡單數(shù)據(jù)類型比訪問復雜數(shù)據(jù)類型速度快
         
           // 1.簡單類型在內(nèi)存中如何存儲?
           // var n1=10;
           // var n2=20;
           // n2=n1;
           // n1=20;
           // console.log(n1,n2);// 20  10
 
            // 2.復雜數(shù)據(jù)類型在內(nèi)存中如何存儲晌纫?
            // Object 所有的對象都是基于Object
             // function Person(name,age) {
             //     this.name=name;
             //     this.age=age;
             //     this.sayHi=function() {
             //         console.log(this.name+':hello');
             //     }
             // }
             //  var p1=new Person('zs',18);
             //  console.log(p1.name); //zs
             //  p1.sayHi(); //zs:hello
             //  var p2=p1;
             //  p2.sayHi(); //zs:hello

             //3.簡單類型數(shù)據(jù)作為函數(shù)的參數(shù)税迷,在內(nèi)存中如何存儲?
             //簡單類型數(shù)據(jù)存儲在內(nèi)存中的棧上
             // function fn(a,b) {
             //     a=a+1;
             //     b=b+1;
             //     console.log(a); //11
             //     console.log(b); //21
             // }
             // var x=10;
             // var y=20;
             // fn(x,y);  //調(diào)用函數(shù)時將x锹漱、y的值賦給a箭养、b
             // //x、y的值不會受函數(shù)內(nèi)部執(zhí)行過程的影響哥牍,a和b是兩個獨立的變量
             // console.log(x); //10
             // console.log(y); //20

             //4.復雜 類型數(shù)據(jù)作為函數(shù)的參數(shù)毕泌,在內(nèi)存中如何存儲?
             // function Person(name,age) {
             //     this.name=name;
             //     this.age=age;
             //     this.sayHi=function() {
             //         console.log(this.name+':hello');
             //     }
             // }
             // var P=new Person('zs',18);
             // function fn(person) {
             //     person.name='ls';
             //     person=new Person('ww',20);
             //     console.log(person.name); //ww
             // }
             // fn(P);
             // console.log(P.name); //ls

             //5. 數(shù)組也是復雜數(shù)據(jù)類型
             // 對數(shù)組排序嗅辣,從小到大--冒泡排序
             function sort(array) {
                //外層循環(huán)控制趟數(shù)
                for(var i=0;i<array.length-1;i++) {
                    //假設排好序了
                    var isSort=true;
                    //內(nèi)層循環(huán)控制比較的次數(shù)
                    for(var j=0;j<array.length-1-i;j++){
                        if (array[j]>array[j+1]) {
                            isSort=false;
                            //交換位置
                            var t=array[j];
                            array[j]=array[j+1];
                            array[j+1]=t;
                        }
                    }
                    //判斷是否排好了
                    if (isSort) {
                        break;
                    }
                }
                // return array;
             }
             // var array=[3,44,2,66,88];
             // function fn(arr) {
             //     arr[0]=-1;
             // }
             // fn(array);
             // console.log(array);
             var array=[3,44,2,66,88];
             var r=sort(array);
             console.log(r);
             console.log(array);
    </script>
</head>
<body>
    
</body>
</html>
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撼泛,一起剝皮案震驚了整個濱河市辩诞,隨后出現(xiàn)的幾起案子坎弯,更是在濱河造成了極大的恐慌,老刑警劉巖译暂,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撩炊,居然都是意外死亡外永,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門拧咳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伯顶,“玉大人,你說我怎么就攤上這事骆膝〖礼茫” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵阅签,是天一觀的道長掐暮。 經(jīng)常有香客問我,道長政钟,這世上最難降的妖魔是什么路克? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任樟结,我火速辦了婚禮,結果婚禮上精算,老公的妹妹穿的比我還像新娘瓢宦。我一直安慰自己,他們只是感情好灰羽,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布驮履。 她就那樣靜靜地躺著,像睡著了一般廉嚼。 火紅的嫁衣襯著肌膚如雪疲吸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天前鹅,我揣著相機與錄音摘悴,去河邊找鬼。 笑死舰绘,一個胖子當著我的面吹牛蹂喻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捂寿,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼口四,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秦陋?” 一聲冷哼從身側響起蔓彩,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驳概,沒想到半個月后赤嚼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡顺又,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年更卒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稚照。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹂空,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出果录,到底是詐尸還是另有隱情上枕,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布弱恒,位于F島的核電站辨萍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏斤彼。R本人自食惡果不足惜分瘦,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一蘸泻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘲玫,春花似錦悦施、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至土陪,卻和暖如春昼汗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鬼雀。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工顷窒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人源哩。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓鞋吉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親励烦。 傳聞我的和親對象是個殘疾皇子谓着,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結構(3).初始化時...
    歐辰_OSR閱讀 29,392評論 8 265
  • 從三月份找實習到現(xiàn)在,面了一些公司坛掠,掛了不少赊锚,但最終還是拿到小米、百度屉栓、阿里舷蒲、京東、新浪系瓢、CVTE阿纤、樂視家的研發(fā)崗...
    時芥藍閱讀 42,253評論 11 349
  • 事發(fā)突然 昨晚正當我照顧好媽媽睡覺后,開始自己的碎片鍛煉夷陋,卻突然聽到弟弟說斷了,我一個機靈起來胰锌,千萬別是picc管...
    四月鄒閱然閱讀 243評論 2 1
  • "開掛"的技能-學習能力 學習能力學習根基骗绕,學習能力強弱決定自己競爭力。 笑來老師把學習能力分成三個階段: 1.能...
    水中望我閱讀 238評論 0 1
  • 簡歷就是對自己全部經(jīng)歷的一個概括,通過一張紙和語言來表達展現(xiàn)自己格带,對于領經(jīng)驗的新人來說撤缴,資歷不夠刹枉,經(jīng)驗不足,有些長...
    底細L閱讀 311評論 0 0