2012-03-15 2 views
0

나는 이런 식으로하려고합니다.Javascript 객체 관련

/* Code start */ 

    function getCurrentTime() 
    { 
     var date = new Date(), 
     time = date.getTime(); 

     return time; 
    } 


var jsObject = { 
       "imageOne":"SomeText"+getCurrentTime(), 
       "imageTwo":"someOtherText"+getCurrentTime() 
       } 


setInterval(function(){ 
     console.log(jsObject.imageOne); 

     }, 3000); 
/* Code end */ 

타이머가 실행될 때마다 getCurrentTime()을 실행하고 최신 시간을 가져와야합니다. 어떻게해야합니까?

"imageOne": function() { 
    return "SomeText" + getCurrentTime(); 
}, 

과 :

console.log(jsObject.imageOne()); 

정말 필요한 경우, 당신은 ()과를 생략 할 수 있습니다 당신이 일을 실행하고 다른 결과 각 시간을 얻을 필요가있는 경우

+0

이 함수를 호출하기 위해, 당신은 게터 필요 9691520/938089? javascript-can-we-have-self-invoking-function-modules-assigned-to-variables). –

답변

3

, 당신은 기본적으로 기능이 필요합니다 getter이지만 함수를 사용하는 것이 더 간단합니다.


게터 사용 :

get imageOne() { 
    return "SomeText" + getCurrentTime(); 
}, 

현재 시간에 따라 다른 값마다 평가할 것이다 obj.imageOne 액세스이 방법.

+0

Thx pimvdb, 나는 잘 작동하는 함수를 시도했다. 다른 방법이 있는지 알고 싶습니다. 이 객체에는 많은 요소 (키 - 값 쌍)가 있고 다른 스크립트에서 채워지므로 – phpsessionid

+0

@phpsessionid : 어떻게 채워 집니까? 실제 시간이 지정되면 'SomeText123456' 그럼 다른 시간으로 바꾸는 것이 약간 까다 롭습니다. – pimvdb

+0

실제 시간이 지정되지 않았습니다. 나는 analytics 서버에 보낼 수있는 링크가 많은 큰 개체가 있습니다. 따라서 애널리틱스 서버를 방문 할 때마다 URL에 최신 타임 스탬프가 있어야합니다. 링크는 50 ~ 100 개의 숫자와 같습니다. – phpsessionid

1

이 시도 : 여기

var jsObject = { 
    "imageOne":"SomeText", 
    "imageTwo":"someOtherText", 
    getLatestByName : function (name) { 
     return this[name] + getCurrentTime(); 
    } 
}; 


setInterval(function(){ 
    console.log(jsObject.getLatestByName("imageOne")); 
}, 3000); 

는 바이올린입니다 : [코드 예제] (http://stackoverflow.com/a/ : 괄호없이 http://jsfiddle.net/R7JQ3/

+0

Nemoy,이 작품은 타임 스탬프가 텍스트 사이에있을 것이다. Like imageTwo ":"SomeText "+ TIME-HERE +"다른 검색어 매개 변수 " – phpsessionid

+0

정확히 원하는 것은?"다른 검색어 매개 변수 "를 외부에서 전달했거나 'imageTwo' 속성의 일부입니까 – Nemoy

+0

Nemoy, 내가 의미하는 것은 TIME 스탬프 inbetween 두 문자열 수 있습니다. 도움을 주셔서 감사합니다, 또한 귀하의 메서드를 시도 할 것입니다 – phpsessionid