最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js 函數(shù)參數(shù)賦值問題解決

 更新時間:2025年12月28日 09:15:30   作者:常如愿1314  
本文主要介紹了js 函數(shù)參數(shù)賦值問題,包括基本類型和引用類型的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、參數(shù)傳遞機(jī)制

JavaScript 中,函數(shù)參數(shù)傳遞方式是值傳遞,但根據(jù)參數(shù)類型不同,行為表現(xiàn)不同:

基本類型(如 Number、String):傳遞的是值的副本,修改參數(shù)不影響外部。
引用類型(如 Object、Array):傳遞的是對象引用的副本,修改屬性會影響外部,但重新賦值參數(shù)不會。

二、基本類型參數(shù)(不可變)

function modifyPrimitive(num) {
  num = 100; // 修改本地副本
}

let x = 5;
modifyPrimitive(x);
console.log(x); // 輸出:5(未被修改)



關(guān)鍵點(diǎn):參數(shù)是原始值的副本,函數(shù)內(nèi)修改不影響外部變量。

三、引用類型參數(shù)(可變)

  1. 修改屬性 → 影響外部
function modifyObject(obj) {
  obj.name = 'Bob'; // 通過引用修改原對象
}

let person = { name: 'Alice' };
modifyObject(person);
console.log(person.name); // 輸出:Bob(外部被修改)
  1. 重新賦值參數(shù) → 不影響外部
function replaceObject(obj) {
  obj = { name: 'Charlie' }; // 創(chuàng)建新對象,參數(shù)指向新地址
}

let person = { name: 'Alice' };
replaceObject(person);
console.log(person.name); // 輸出:Alice(未被修改)
  1. 數(shù)組示例
function modifyArray(arr) {
  arr.push(4);      // ? 修改原數(shù)組
  arr = [5, 6, 7];  // ? 重新賦值,不影響外部
}

let numbers = [1, 2, 3];
modifyArray(numbers);
console.log(numbers); // 輸出:[1, 2, 3, 4]

四、參數(shù)賦值 vs 屬性修改

操作類型    對外部的影響    示例
修改基本類型參數(shù)    ? 不影響外部    function(x) { x = 10; }
修改引用類型的屬性    ? 影響外部    function(obj) { obj.key = 1; }
重新賦值引用類型參數(shù)    ? 不影響外部    function(obj) { obj = {}; }

例子:

在 forEach 中,回調(diào)函數(shù)的參數(shù) item 本質(zhì)上是數(shù)組元素的值或引用的副本。因此:

基本類型元素:item 是值的副本,重新賦值不影響原數(shù)組。
引用類型元素:item 是引用的副本,重新賦值只會改變副本的指向,不會影響原數(shù)組中的引用。
示例分析

1. 基本類型數(shù)組(重新賦值無效)
const arr = [1, 2, 3];
arr.forEach((item) => {
  item = item * 10; // 修改的是副本,不影響原數(shù)組
});
console.log(arr); // 輸出:[1, 2, 3]


原因:item 是原始值 1、2、3 的副本,重新賦值不會影響原數(shù)組元素。
  1. 引用類型數(shù)組(修改屬性有效,重新賦值無效)
const arr = [{ value: 1 }, { value: 2 }];

// 修改屬性 → 有效
arr.forEach((item) => {
  item.value = item.value * 10; // 通過引用修改原對象
});
console.log(arr); // 輸出:[{ value: 10 }, { value: 20 }]

// 重新賦值 → 無效
arr.forEach((item) => {
  item = { value: 100 }; // 創(chuàng)建新對象,副本指向新對象,原數(shù)組不變
});
console.log(arr); // 輸出:[{ value: 10 }, { value: 20 }]

關(guān)鍵點(diǎn):
修改屬性:item 和原數(shù)組元素指向同一對象,修改屬性會影響原數(shù)組。
重新賦值:item 被賦予新引用,與原數(shù)組元素的引用斷開,不影響原數(shù)組。

以上就是js 函數(shù)參數(shù)賦值問題解決的詳細(xì)內(nèi)容,更多關(guān)于js 函數(shù)參數(shù)賦值的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • bootstrapValidator表單驗(yàn)證插件學(xué)習(xí)

    bootstrapValidator表單驗(yàn)證插件學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了表單驗(yàn)證插件bootstrapValidator的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JS中正則表達(dá)式的運(yùn)用解析

    JS中正則表達(dá)式的運(yùn)用解析

    本文介紹JS正則表達(dá)式基礎(chǔ)語法與應(yīng)用,涵蓋字符匹配、邊界符、量詞、范圍及修飾符i/g,用于表單驗(yàn)證、敏感詞過濾等場景,結(jié)合實(shí)例說明使用方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-09-09
  • JavaScript學(xué)習(xí)筆記之?dāng)?shù)組的增、刪、改、查

    JavaScript學(xué)習(xí)筆記之?dāng)?shù)組的增、刪、改、查

    這篇文章主要介紹了JavaScript學(xué)習(xí)筆記之?dāng)?shù)組的增、刪、改、查的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • JS全局變量和局部變量最新解析

    JS全局變量和局部變量最新解析

    這篇文章主要介紹了JS全局變量和局部變量最新解析的相關(guān)知識,本文給給大家補(bǔ)充js刪除局部變量的代碼,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • JavaScript中清空數(shù)組的幾種方法

    JavaScript中清空數(shù)組的幾種方法

    本文主要介紹了JavaScript中清空數(shù)組的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • JS實(shí)現(xiàn)帶圓弧背景漸變效果的導(dǎo)航菜單代碼

    JS實(shí)現(xiàn)帶圓弧背景漸變效果的導(dǎo)航菜單代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)帶圓弧背景漸變效果的導(dǎo)航菜單代碼,涉及JavaScript基于鼠標(biāo)事件操作頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • js動態(tài)調(diào)用css屬性的小規(guī)律及實(shí)例說明

    js動態(tài)調(diào)用css屬性的小規(guī)律及實(shí)例說明

    本篇文章主要介紹了js動態(tài)調(diào)用css屬性的小規(guī)律及實(shí)例說明。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • IE8 內(nèi)存泄露(內(nèi)存一直增長 )的原因及解決辦法

    IE8 內(nèi)存泄露(內(nèi)存一直增長 )的原因及解決辦法

    最近開發(fā)的時候?qū)撁媸褂昧硕〞r的局部更新,結(jié)果在ie6,7和Firefox下,一切正常,而在ie8下過上幾個小時就瀏覽器就崩潰了,顯示是內(nèi)存溢出,下面由腳本之家小編給大家介紹ie8下內(nèi)存一直增長內(nèi)存泄漏的原因及解決辦法,需要的朋友一起學(xué)習(xí)吧
    2016-04-04
  • javascript 使用 NodeList需要注意的問題

    javascript 使用 NodeList需要注意的問題

    理解NodeList及其近親NamedNodeMap和HTMLCollection,是從整體上透徹理解DOM的關(guān)鍵所在,這三個集合都是“動態(tài)的”,換句話說,每當(dāng)文檔結(jié)構(gòu)發(fā)生變化時,他們都會得到更新。
    2013-03-03
  • 前端JavaScript實(shí)現(xiàn)大數(shù)據(jù)前后模糊搜索的方法詳解

    前端JavaScript實(shí)現(xiàn)大數(shù)據(jù)前后模糊搜索的方法詳解

    這篇文章主要為大家詳細(xì)介紹了前端JavaScript實(shí)現(xiàn)大數(shù)據(jù)前后模糊搜索的四個常見方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2023-12-12

最新評論

建水县| 新和县| 磐石市| 璧山县| 平果县| 宝坻区| 都江堰市| 潞西市| 舟曲县| 张家港市| 平山县| 四川省| 开原市| 翼城县| 长子县| 安图县| 孝昌县| 抚松县| 台山市| 将乐县| 大埔县| 江源县| 丹阳市| 金坛市| 方正县| 阳山县| 汽车| 驻马店市| 镶黄旗| 临汾市| 伊金霍洛旗| 河东区| 广昌县| 金平| 亚东县| 内江市| 崇义县| 湘乡市| 岢岚县| 花垣县| 浮梁县|