1. 程式人生 > >js引數傳遞陣列物件,修改此引數,會影響原陣列嗎

js引數傳遞陣列物件,修改此引數,會影響原陣列嗎

1,方法中改變了原資料的,會影響原陣列,包括單個的賦值,排序

var a = [1,2,3];
function test(arr){
    arr[0] = 4;//直接改變原陣列的第一個資料,影響原陣列,故改變了原陣列。
    console.log(arr);//[4,2,3];
}
a;//在沒有呼叫test之前是[1,2,3]
test(a);//輸出[4,2,3]
a;//test之後[4,2,3]

2,方法中沒有影響原資料的,不會改變原陣列

var a = [1,2,3];
function test(arr){
    arr = [4,5,6];//此處,arr直接賦予新值,和原資料沒有關係,不會影響原資料
    console.log(arr);//輸出[4,5,6]
}
a;//test之前[1,2,3]
test(a);//輸出[4,5,6]
a;//test之後[1,2,3]沒有影響原資料

相關推薦

js引數傳遞陣列物件修改引數影響陣列

1,方法中改變了原資料的,會影響原陣列,包括單個的賦值,排序 var a = [1,2,3]; function test(arr){ arr[0] = 4;//直接改變原陣列的第一個資料,影響原陣列,故改變了原陣列。 console.log(arr);//

js中設定、取、修改、刪除自定義屬性的值

<div class="div-info" testAttr="myAttr" testAttr2="haha"> </div> 1、js中設定自定義屬性。 例如:$(".div-info").attr("testAttr3","houhou

springMVC(10) springMVC引數傳遞(封裝物件接收引數)

上面的例子中,是用相同的引數來接收頁面傳遞的引數,若頁面引數過多,方法傳的引數也會相應增多,這樣也不符合面向物件的思想。本示例就演示,把引數封裝成物件來接收。 先封裝物件User package co

redis安裝修改配置檔案多例項部署 redis-server

redis 安裝 解壓: [[email protected] software]# tar -xvf redis-3.2.11.tar.gz 進入redis根目錄: [[email protected] software]# cd redis-3.2.11/ 編譯安裝: [[

安裝版JDK後修改環境變數也無法生效的原因和解決辦法

現象: 安裝過安裝版的JDK,一般是1.7以上,修改環境變數並不能生效,比如原本安裝了1.8,後修改環境變數為1.7,java -version仍顯示1.7 原因:   當使用安裝版本的JDK程式時(一般是1.7版本以上),在安裝結束後安裝程式會自動將java.exe、java

(單機demo)將一個專案靜態原型部署到nginx上面修改hosts檔案使用域名訪問專案

(單機demo)將一個專案部署到nginx上面,修改hosts檔案,使用域名訪問專案 安裝nginx,網上教程一大推,就不囉嗦了 進入nginx修改nginx安裝目錄下的nginx.conf檔案,新增如下內容 修改alias 後面靜態資源的位置,修改server_name

keras 預訓練模型finetune,多模型ensemble修改loss函式調節學習率

keras 預訓練模型finetune,多模型ensemble,修改loss函式,調節學習率 載入預訓練模型並finetune 修改loss函式 兩個網路做ensemble,進行網路訓練,調節learning rate 載入預訓練模型並fi

tomcat部署專案修改專案名配置專案路徑

1.在tomcat安裝路徑下找到server.xml     2.在<主機名=“localhost”appBase =“webapps”節點下面新增 (1)這個情況是不需要專案名 :  <Context path =“/” docBase =

1.問題一:在oracle中連續十次嘗試登陸不成功那麼賬戶將被鎖定(lock)。當使用被鎖定的賬戶登入時系統報錯:ORA-28000: the account is locked。

解決思路: 以管理員的身份登入,即以sys或者system登入資料庫; 使用命令解鎖使用者:alter user 這裡是使用者名稱 account unlock; 重置密碼:alter user 這裡是使用者名稱 identified by 這裡是重置的密碼; 重新登入即可。

在Java開發做了10年後推薦框架顛覆Java應用

黑馬程式設計師 2018-12-07 10:47:22 為什麼說Spring Boot是顛覆性的呢?因為它徹底改變了Java應用開發的模式。 Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的

springboot2.0版本修改tomcat配置自定義tomcat配置的方法

在啟動類同級目錄,新建一個類     package com.example.demo;          import org.apache.coyote.http11.Http11NioProtocol; &n

我所經歷的一次社會無賴中介的大考驗記錄以介。(北京朝陽區黑中介楊沫)

時間:2018年4月1日-5月15日地點:北京市朝陽區 康各莊路 金澤家園C區310號樓3單元202室背景:租房住,因入住時為8月底,所以之後在次年4月搬走時沒有用過空調一次,搬走時中介推脫修好空調扣款再退,結果託了1個多月也沒辦成這事,最後翻臉後我找修空調的來修理,修完後每

Centos下GitLab安裝遇坑填坑修改預設埠解決502錯誤

本次實戰參考《GitLab安裝》,連結如下:https://www.cnblogs.com/xiewenming/p/7304863.html安裝步驟:1.部署gitlab需要的postfixyum install curl policycoreutils openssh-s

程式設計實現順序表的以下基本操作:建立順序表修改順序表插入順序表刪除順序表。

#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; typedef int ElemType; typedef int Statu

greendao資料庫升級新增欄位修改版本後所引發的問題

首先就是配置greendao資料哭的環境 1.在主專案中的build.gradle 經行配置環境 :(自己這樣用的僅供參考) apply plugin: 'org.greenrobot.greend

若一頭小母牛從出生起第四個年頭開始每年生一頭母牛規律第n年時有多少頭母牛?

第一年:1 第二年:1 第三年:1 第四年:1 + 1(4) 第五年:1 + 1(4) + 1(5) 第六年:1 + 1(4) + 1(5) + 1(6) 第七年:1 + 1(4) + 1(5) + 1(6) + 1(7) +1(47) 遞迴公式:f(n)=1 0

巧妙地利用時間(js中的Date物件)來生成絕對不重複的id

接著上一篇部落格說,本來利用nodejs,操作本地json檔案的時候,如果是新增的話,肯定是要給新增的資料一個唯一識別的id,我上網查了很多方法,說是用陣列什麼的方法,我覺得太複雜,後來我看到電腦右下角的時間,靈機一動,為什麼不利用js 中的 Date物件來生成

使用layer 彈出對話方塊 子父頁面相互引數傳遞 父頁面獲取子頁面引數例項

最近使用了layui框架,是一套非常好用的整合吧,沒研究太深,但是用起來很方面。主要是因為要寫一個選擇彈出框,類似使用者登入一樣的彈出框。學習肯定是先看官網,下載原始碼的,地址 http://www.layui.com/doc/  但是官網程式碼的demo不夠詳盡,還是我沒

runtime獲取屬性列表修改屬性值新增並修改私有方法的呼叫

用了兩天好好的研究了一下runtime,之前初涉runtime。懵懵懂懂的瞭解runtime的強大,但是如何的強大,只是在demo中引用MJExtension的時候自動生成model,瞭解了一些。 經過一天半的研究,首先溫習了之前的獲取屬性列表。 今天想說的

linux檔案賦權修改使用者類別修改使用者組命了

先來了解一下檔案屬性, 在shell環境裡輸入:ls -l 可以檢視當前目錄檔案。如: drwxr-xr-x 2 nsf users 1024 12-10 17:37 下載檔案備份 分別對應的是: 檔案屬性 連線數 檔案擁有者 所屬群組 檔案大小 檔案修改時間 檔名 這裡r