奔跑吧,我的JavaScript(2)

來源:互聯網
上載者:User

標籤:對象   javascript   

理解參數1.命令參數的個數不必與實際參數個數保持一致,但需要知道實際參數個數時,可以用arguments.length獲得。2.arguments對象可以與命令參數一起使用,甚至可以互換。3.arguments對象的值始終與對應命令參數的值保持同步,但是值相同,並不表示記憶體空間也是相同的,這種影響是一種單向影響,只能是arguments影響命令參數。4.嚴格模式下,arguments不能被賦值。5.ECMAScript只存在值傳遞,而非引用傳遞。基本類型和參考型別的值基本類型表示一些簡單的資料區段,而參考型別表示多個值的對象1.對於參考型別的值,可以動態添加、刪除、修改屬性和方法。2.基本類型複製,實際上是重新賦予了新值的過程,而參考型別複製,是被賦予了一個新指標引用同一對象。傳遞參數所有函數的參數都只能值傳遞,基本類型傳遞參數,實際上就是值複製;參考型別傳遞參數,實際上就是傳遞地址。執行環境及範圍定義了變數或函數的一個作用範圍,有權訪問其他資料,決定了它們各自的行為(全域環境、函數環境)。1.變數的範圍鏈,保證了對執行環境有權訪問的變數和函數的有序訪問。2.內部可以訪問外部,但外部不可以訪問內部。3.沒有塊級範圍,一般其他語言由花括弧{}包圍起來的塊級代碼,也算一個範圍,而ECMAScript不會這樣認為。4.局部會代替父環境中的標示符。垃圾收集具有自動垃圾收集機制,也就是找出不再繼續使用的變數,釋放其記憶體。收集策略1.標記清除,標記變數,記錄他的執行流程2.引用計數,引用次數為0時,先回收記憶體後釋放(Ps.容易陷入循環參考中,導致記憶體永遠不能回收,嚴重時會引起記憶體流失)。管理記憶體為了節約系統記憶體,為執行中代碼儲存必要資料,一旦資料不再有用,應設為null,稱為解除引用。所謂解除引用,也就是讓值脫離執行環境,以便垃圾收集器可以回收。參考型別也就是一種資料結構,類似於C++中的類,但卻不具備類所支援的介面,也被稱為對象定義。var person = new object();其中 person稱為對象的執行個體object()為建構函式1.Object類型,最常用,然而並沒有什麼實際功能2.Array類型,數組的每一項可以儲存不同值,大小也可以動態調整;數組的長度始終為最後一項+1,(從0開始計數)JavaScript函數定義函數function 函數名(){            函數體;}對大小寫敏感函數實際上是對象,函數是Function類型的執行個體,函數名是指標沒有重載機制(深入理解)如果同時創造兩個同名函數,則會看到後一個函數會覆蓋前一個
<span style="font-size:14px;">function addnumber(num){return num+100;}function addnumber(num){return num+200;}alert(addnumber(100));</span>
想一下,結果是多少?200?300?作為值得函數函數名本身為變數,所以可以作為值來用。function callSomeFunction(someFunction,someArguments){return someFunction(someArguments);}函式宣告與函數運算式解析器會率先讀取函式宣告,並在執行代碼之前可用;函數運算式只有在執行所在所在程式碼才能被解釋執行。內建對象所有的事物,包括字串,數值,數組等,並帶有屬性和方法允許自訂對象(1)定義並建立對象執行個體(2)利用函數來建立people = new Object();                         people.name = "L";people.age = "20"; people ={
name = "L";age = 20;}function people(name,age){this.name = name;this,age = age;}son = new people();String 對象
方法說明

函數
返回值
尋找字串
indexOf()
返回字串所在的索引位置
內容匹配
match()
匹配不成功,返回null
替換內容
replace()
新的字串
轉換大小寫
toUpperCase()/toLowerCase()
新的字串
轉換成數組
split()


Array對象使用單獨的變數名來儲存一系列的值數組訪問,指定數組名以及索引號碼,訪問指定元素concat()  合并數組sort()  排序push()  末尾增加元素revese() 數組反轉
Math對象執行常見的算數任務round()    四捨五入random()   返回0~1之間的隨機數隨機數的值=Math.floor(Math.random()*可能值的總數+第一個可能值);如果從一個非數值數組中找隨機數,用到一個函數selectForm(開始值,結束值);max()  最高值min()  最低值abs()  絕對值


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

奔跑吧,我的JavaScript(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.