2014-09-01 1 views
1

각 자바 참조에 할당 된 메모리 양은 참조하는 객체/함수에 따라 다릅니 까? 즉, 작은 객체에 대한 참조를 만든 다음 큰 객체에 대한 참조를 만드는 경우 할당 된 메모리에서 참조가 얼마나 다를까요?자바 참조 및 메모리 할당의 차이점

obj1 = {foo: "bar"} 
ref1 = obj1 
ref2 = window 
ref1

ref2 및 메모리 할당 사이의 차이가 무엇인가 예

?

이유는 내가 (아래 참조) 범위 컨텍스트 요소에 jQuery.data()를 사용하여 참조를 저장하고있어

에게 내가 저장하고있는 무슨 난 그냥 더 알고 싶어 나는 저장있어 얼마나. jQuery.data()이 참조를 저장하거나 새 개체를 만드나요? - (아마도 새로운 SO 질문)

내 커피 스크립트 클래스 : 자바 스크립트에서

class Renderer 
    constructor: -> 
    jQuery("<div/>", {class: "myScope", data: @}).appendTo("body") 

:

var Renderer; 
Renderer = (function() { 
    function Renderer() { 
    jQuery("<div/>", { 
     "class": "myScope", 
     data: this 
    }).appendTo("body"); 
    } 
    return Renderer; 
})(); 

답변

2

아니, 자바 스크립트 할당 복사하지 않는 객체, 그들은 참조를 복사합니다. ref1ref2 변수는 다른 객체를 가리키는 점을 제외하면 차이가 없어야합니다.

jQuery.data()는 참조를 저장하거나 새 객체를 생성합니까?

그들은 그 요점을 저장합니다. 객체의 카피 또는 직렬화는 실시하지 않습니다.