摘要:調用函數時,傳遞給函數的值被稱為函數的實參值傳遞,對應位置的函數參數名叫作形參。假如函數在內部改變了對應形參的值,返回后,實參指向的對象的值也會改變。
理解函數
文字居多,各位看官不要厭煩呀~~
在JavaScript中,每個函數其實都是一個Function對象。(不是有句話說:一切皆對象?)
函數總是會返回一個值,但是一個過程有可能返回一個值,也有可能不返回。(所以函數不是過程~)
如果一個函數中沒有使用return語句,則它默認返回undefined。要想返回一個特定的值,則函數必須使用 return 語句來指定一個所要返回的值。(使用new關鍵字調用一個構造函數除外)。
調用函數時,傳遞給函數的值被稱為函數的實參(值傳遞),對應位置的函數參數名叫作形參。
如果實參是一個包含原始值(數字,字符串,布爾值)的變量,則就算函數在內部改變了對應形參的值,返回后,該實參變量的值也不會改變。
如果實參是一個對象引用,則對應形參會和該實參指向同一個對象。假如函數在內部改變了對應形參的值,返回后,實參指向的對象的值也會改變。
終于有代碼了,撒花~~
/* 定義函數 myFunc */ function myFunc(theObject) { //實參 mycar 和形參 theObject 指向同一個對象. theObject.brand = "Toyota"; } /* * 定義變量 mycar; * 創建并初始化一個對象; * 將對象的引用賦值給變量 mycar */ var mycar = { brand: "Honda", model: "Accord", year: 1998 }; /* 彈出 "Honda" */ window.alert(mycar.brand); /* 將對象引用傳給函數 */ myFunc(mycar); /* * 彈出 "Toyota",對象的屬性已被修改. */ console.log(mycar.brand);
(關于函數中的this,順便說點)
在函數執行時,this 關鍵字并不會指向正在運行的函數本身,而是指向調用該函數的對象。
所以,如果你想在函數內部獲取函數自身的引用,只能使用函數名或者使用arguments.callee屬性
(嚴格模式下不可用),如果該函數是一個匿名函數,則你只能使用后者。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/79335.html
摘要:深入之繼承的多種方式和優缺點深入系列第十五篇,講解各種繼承方式和優缺點。對于解釋型語言例如來說,通過詞法分析語法分析語法樹,就可以開始解釋執行了。 JavaScript深入之繼承的多種方式和優缺點 JavaScript深入系列第十五篇,講解JavaScript各種繼承方式和優缺點。 寫在前面 本文講解JavaScript各種繼承方式和優缺點。 但是注意: 這篇文章更像是筆記,哎,再讓我...
摘要:理解的函數基礎要搞好深入淺出原型使用原型模型,雖然這經常被當作缺點提及,但是只要善于運用,其實基于原型的繼承模型比傳統的類繼承還要強大。中文指南基本操作指南二繼續熟悉的幾對方法,包括,,。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 怎樣使用 this 因為本人屬于偽前端,因此文中只看懂了 8 成左右,希望能夠給大家帶來幫助....(據說是阿里的前端妹子寫的) this 的值到底...
摘要:使用上一篇文章的例子來說明下自由變量進階期深入淺出圖解作用域鏈和閉包訪問外部的今天是今天是其中既不是參數,也不是局部變量,所以是自由變量。 (關注福利,關注本公眾號回復[資料]領取優質前端視頻,包括Vue、React、Node源碼和實戰、面試指導) 本周正式開始前端進階的第二期,本周的主題是作用域閉包,今天是第7天。 本計劃一共28期,每期重點攻克一個面試重難點,如果你還不了解本進階計...
摘要:要理解立即執行函數,需要先理解一些函數的基本概念。函數表達式使用關鍵字聲明一個函數,但未給函數命名,最后將匿名函數賦予一個變量,叫函數表達式,這是最常見的函數表達式語法形式。 javascript和其他編程語言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時霧里看花,當然,能理解各型各色的寫法也是對javascript語言特性更進一步的深入理解。 ( functio...
摘要:設計模式是以面向對象編程為基礎的,的面向對象編程和傳統的的面向對象編程有些差別,這讓我一開始接觸的時候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續了解設計模式必須要先搞懂面向對象編程,否則只會讓你自己更痛苦。 JavaScript 中的構造函數 學習總結。知識只有分享才有存在的意義。 是時候替換你的 for 循環大法了~ 《小分享》JavaScript中數組的那些迭代方法~ ...
閱讀 1778·2021-10-19 13:30
閱讀 1354·2021-10-14 09:48
閱讀 1545·2021-09-22 15:17
閱讀 2017·2019-08-30 15:52
閱讀 3284·2019-08-30 11:23
閱讀 1998·2019-08-29 15:27
閱讀 900·2019-08-29 13:55
閱讀 764·2019-08-26 14:05