js 에서 arr 의 할당 값 은 원래 배열, 할당 과 참조 의 차이 에 영향 을 주지 않 습 니 다.

1417 단어
1. 할당
var a = 1;
var b = a;   //   a    
b ++;
alert(a);   //"1"   b      a

인용
var a = [1];
var b = a;     //   a    
b[0] ++;
alert(a);  //"2"   b    a           b = [2];     a    。。。。。。

인용 작용 을 하고 원수 조 에 영향 을 주지 않 는 방법
방법 1: jq 의 $. extend 방법 으로
<script type="text/javascript">
var a=[1];
var b;
b= $.extend(true,{},a)
b[0]++;
alert(b[0]); 
	</script>

방법 2: 배열 의 concat 방법 으로
<script type="text/javascript">
var a=[1];
var b=a.concat();
b[0]++;
alert(a[0]); 
	</script>

방법 3: 함수 로 인삼 을 전달 하 는 방법
     :             ,             
var a = 1;
var b = 2;
function change(a,b) {
  var c = a;
  a = b;      //      
  b = c;
  alert(a);   //"2"         
  alert(b);   //"1"
}
change(a,b);
alert(a);   //"1"         
alert(b);   //"2"
     :             ,              ,               ,  
var a = [1, 2, 3];
var b = [5, 6];
function change(a,b) {
  a[0] = 4;    //             
  var c = a;
  a = b;      //      
  b = c;
  alert(a);   //"5,6"         
  alert(b);   //"4,2,3"
}
change(a,b);
alert(a);    //"4,2,3"
alert(b);     //"5,6"
       a b                                                  

좋은 웹페이지 즐겨찾기