摘要:一數(shù)據(jù)類型基本類型引用類型類型判斷返回結(jié)果未定義布爾值字符串?dāng)?shù)值對(duì)象或者函數(shù)拓展堆棧兩種數(shù)據(jù)結(jié)構(gòu)堆隊(duì)列優(yōu)先,先進(jìn)先出由操作系統(tǒng)自動(dòng)分配釋放,存放函數(shù)的參數(shù)值,局部變量的值等。
一、數(shù)據(jù)類型
基本類型:`Null Boolean String Undefined Number(NB SUN)` 引用類型:`Array Function Object` 類型判斷:typeof 返回結(jié)果 `"undefined"(未定義) "boolean"(布爾值) "string"(字符串) "number"(數(shù)值) "object"(對(duì)象或者null) "funtion"(函數(shù)) `
拓展:堆 VS 棧(兩種數(shù)據(jù)結(jié)構(gòu))
**堆:**隊(duì)列優(yōu)先,先進(jìn)先出;由操作系統(tǒng)自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。 其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。 **棧:**先進(jìn)后出;動(dòng)態(tài)分配的空間 一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收, 分配方式倒是類似于鏈表。
基本類型:基本數(shù)據(jù)類型可以直接訪問(wèn),他們是按照值進(jìn)行分配的,存放在棧(stack)內(nèi)存中的簡(jiǎn)單數(shù)據(jù)段,數(shù)據(jù)大小確定,內(nèi)存空間大小可以分配。
引用類型:即存放在堆(heap)內(nèi)存中的對(duì)象,而js不允許直接訪問(wèn)內(nèi)存中的位置,因此操作對(duì)象時(shí)實(shí)際上是操作其引用,而不是實(shí)際對(duì)象。
引申:js中的淺拷貝與深拷貝 ——待補(bǔ)充
二、操作符主要有一元,位,布爾,加,減,乘,關(guān)系,相等,條件,賦值,逗號(hào)等操作符。
++遞增/--遞減前置和后置區(qū)別?
首先要明白,前置是先計(jì)算,再賦值;后置是先賦值,再計(jì)算。(操作符在前就先計(jì)算,在后就后計(jì)算)
例如:
function a(){ var a=5; var c=a++; console.log(c); // 5, a先賦值給c,再自增 }; function b(){ var a=5; var c=a++; console.log(c); // 6, a先自增,再賦值給c };
數(shù)據(jù)轉(zhuǎn)換(隱式和顯式)
a. 顯式:
Boolean(),Number(),parseInt(),parseFloat(),toString()
b. 隱式:
遞增、遞減(無(wú)論是前置還是后置),一元加,減,乘,求余/取模、邏輯非,關(guān)系比較,還有if等語(yǔ)句。
這個(gè)地方例子還蠻詳細(xì)的:https://www.haorooms.com/post...
三、語(yǔ)句if,for,for-in,continue,break等
break VS continue
break: 退出整個(gè)循環(huán); continue: 退出當(dāng)前一輪循環(huán);for循環(huán)里兩都皆可用。
引申:js中的循環(huán)遍歷(包括ES6) ——待補(bǔ)充
四、函數(shù)定義函數(shù)的幾種方式?
a. 函數(shù)聲明: function fn(){...}
b. 函數(shù)表達(dá)式:let fn=function(){...}
c. 構(gòu)造函數(shù)方式:let fn=new Function(參數(shù),...,函數(shù)體)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/99303.html
摘要:一個(gè)閉包就是當(dāng)一個(gè)函數(shù)返回時(shí),一個(gè)沒(méi)有釋放資源的棧區(qū)所以參數(shù)和變量不會(huì)被垃圾回收機(jī)制回收。使用不當(dāng)會(huì)很容易造成內(nèi)存泄露。最后,垃圾回收器完成內(nèi)存清除工作,銷毀那些帶標(biāo)記的值并回收它們所占用的內(nèi)存空間。 1.什么是閉包?閉包有啥特性以及存在什么問(wèn)題? 概念:閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)。下面的outer就形成了一個(gè)閉包: function outer(){ co...
摘要:基本數(shù)據(jù)類型的復(fù)制很簡(jiǎn)單,就是賦值操作,所以深淺拷貝也是針對(duì),這類引用類型數(shù)據(jù)。它會(huì)拋棄對(duì)象的。另外,查資料過(guò)程中還看到這么一個(gè)詞結(jié)構(gòu)化克隆算法還有這一篇資料也有參考,也寫得比較詳細(xì)了的深淺拷貝 基本數(shù)據(jù)類型的復(fù)制很簡(jiǎn)單,就是賦值操作,所以深淺拷貝也是針對(duì)Object,Array這類引用類型數(shù)據(jù)。 淺拷貝對(duì)于字符串來(lái)說(shuō),是值的復(fù)制,而對(duì)于對(duì)象來(lái)說(shuō)則是對(duì)對(duì)象地址的復(fù)制;而深拷貝的話,它不...
摘要:在創(chuàng)建子類實(shí)例時(shí),不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。構(gòu)造函數(shù)繼承子類傳進(jìn)的值是基本思想是在子類構(gòu)造函數(shù)的內(nèi)部調(diào)用超類或父類型構(gòu)造函數(shù)。繼承保證構(gòu)造函數(shù)指針指向如果想同時(shí)繼承多個(gè),還可使用添加屬性的方式類繼承, OOP:Object Oriented Programming 面向?qū)ο缶幊獭?題外話:面向?qū)ο蟮姆秶鷮?shí)在太大,先把這些大的東西理解理解。 1.什么是對(duì)象? 根據(jù)高程和權(quán)威指南上...
摘要:循環(huán)這個(gè)是最常用,也是最簡(jiǎn)單的循環(huán)了。常用于數(shù)組或者類數(shù)組的遍歷。異步任務(wù)定時(shí)器,事件,回調(diào)函數(shù)等。循環(huán)它主要用來(lái)遍歷對(duì)象,也可用來(lái)遍歷數(shù)組。遍歷對(duì)象時(shí)是屬性名,而遍歷數(shù)組是字符串格式的下標(biāo)值。 for循環(huán) 這個(gè)是最常用,也是最簡(jiǎn)單的循環(huán)了。常用于數(shù)組或者類數(shù)組的遍歷。 for(let i=0;i
摘要:要為變量或者常量指定類型也很簡(jiǎn)單,就是在變量常量名后面加個(gè)冒號(hào),再指定類型即可,比如聲明函數(shù)是類型,即返回值是類型聲明參數(shù)是類型聲明是無(wú)返回值的聲明是這段代碼演示了對(duì)函數(shù)類型參數(shù)類型和變量類型地聲明。變量函數(shù)參數(shù)和返回值需要申明類型。 從 JavaScript 語(yǔ)法改寫為 TypeScript 語(yǔ)法,有兩個(gè)關(guān)鍵點(diǎn),一點(diǎn)是類成員變量(Field)需要聲明,另一點(diǎn)是要為各種東西(變量、參數(shù)...
閱讀 4529·2023-04-26 02:40
閱讀 2827·2023-04-26 02:31
閱讀 2902·2021-11-15 18:08
閱讀 719·2021-11-12 10:36
閱讀 1588·2021-09-30 09:57
閱讀 5602·2021-09-22 15:31
閱讀 2776·2019-08-30 14:17
閱讀 1427·2019-08-30 12:58