한 개체의 속성을 다른 개체로 쉽게 복사 할 수 있습니까? (A)의 특성을 세상 헬로다른 개체에 개체의 속성을 첨부하는 가장 좋은 방법
0
A
답변
0
당신은 underscore.js
을 사용할 수있는가 내장되어 extend
기능 :
_.extend(b, a); // merge a into b
은 그럼 당신은 할 수 있습니다 :
b.afunc('hello');
1
열거 인쇄해야 예
var a = {
afunc: function(bla) {
alert('hello ' + bla);
},
avalue: 'aaa'
};
var b = {
bfunc: function(blb) {
alert('hi ' +blb);
},
bvalue: 'bbb'
};
magically_copy_a_to_b(a,b);
b.afunc('world');
위한
후 (B)의 특성을 설정. 참고 : 객체는 참조로 전달되고 은 복사되지 않습니다.이 복사됩니다.
복사 :
- 숫자, 문자열, 부울 -, 복사
- 배열 : 사용
copiedArray = array.slice()
를 배열을array
- 간단한 기능 복사 (범위를 참조하지 않는, 그런 당신의 예에서와 같이) :
copiedFunc = eval(originalFunc.toString())
,
function magically_copy_a_to_b(a,b){
for(var prop in a){
/* Example: copying all string properties*/
if(typeof prop[a] == "string"){
b[prop] = prop[a];
}
}
}
0
당신이 혼란을 많이 일으키고 있다고 생각합니다. 어쨌든 (var 및 사용 :) 객체를 수정하고 하나의 객체의 속성을 열거하고 다른 객체에 추가하여 작동합니다 (프로토 타입 체인을 피함).)
는function magically_copy_a_to_b(org, dest){
for (var prop in org){
if (org.hasOwnProperty(prop)){
dest[prop] = org[prop];
}
}
return dest;
}
var a = {
afunc: function(bla) {
alert('hello ' + bla);
},
avalue: 'aaa'
};
var b = {
bfunc: function(blb) {
alert('hi ' +blb);
},
bvalue: 'bbb'
};
b = magically_copy_a_to_b(a,b);
b.afunc('world');
0
이 메소드는 json 객체의 속성을 다른 객체에 영구적으로 추가합니다. JS는 스크립팅 언어이기 때문에 "eval"함수는 짧은 코드로 하루를 절약 할 수 있습니다! 마지막으로, "for (obj2의 var obj1)"은 obj1에 정의 된 모든 키를 반환하기 때문에 json을 사용하고 있으며 기본적으로 json을 간단한 배열보다 큰 코드로 처리하는 것이 더 재미 있습니다. 예를 들어, json 객체 배열을 정렬하는 것은 정말 쉽습니다. 뭔가를 얻기 위해 악 "i"를 사용할 필요는 없습니다.
function magically_copy_properties(jsonFrom,jsonTo) {
for (var key in jsonFrom) {
eval([
"jsonTo.",key,"=jsonFrom.",key
].join(""));
}
}
var a = {
"a1": function() {
return "hello";
},
"a2": function() {
return "hey";
},
"aSpace": function() {
return " ";
}
}
var b = {
"b1": function() {
return "ho";
},
"b2": function() {
return "world";
}
}
magically_copy_properties(a,b);
alert(b.a1() + b.aSpace() + b.b2());
관련 문제
- 1. 개체에 속성을 설정하는 가장 빠른 방법은 무엇입니까?
- 2. 엑셀 파일을 저장하고 새 개체에 첨부하는 방법?
- 3. 가장 좋은 방법
- 4. 다른 개체에 유사한 개체 속성을 설정하십시오.
- 5. 한 개체의 속성을 같은베이스의 다른 개체로 복사
- 6. django에서 다른 사용자의 개체에 대한 액세스를 금지하는 가장 좋은 방법입니다.
- 7. java 가장 좋은 방법은 개체의 목록을 필터링
- 8. 개체의 여러 속성을 테스트하는 방법
- 9. 개체의 스냅 샷을 파일로 가져 오는 가장 좋은 방법
- 10. objective-c의 다른 스레드에 의해 잠길 수있는 개체의 "더티 읽기"를 수행하는 가장 좋은 방법
- 11. WPF : 다른 개체에 바인딩하는 방법?
- 12. ExtJS4에서 속성을 만드는 가장 좋은 방법은 무엇입니까?
- 13. Extjs의 개체에 대해 OwnerCt를 변경하는 가장 좋은 방법 4
- 14. 파생 된 개체에 대한 포인터 컬렉션을 관리하는 가장 좋은 방법
- 15. C#에서 COM 개체에 액세스하는 가장 좋은 방법
- 16. 개체의 속성을 다른 개체의 속성에 바인딩하는 방법은 무엇입니까? (C#)
- 17. Silverlight에서 DB 개체의 메모리 내 캐시를 유지하는 가장 좋은 방법
- 18. 서버 개체의 매개 변수를 JavaScript로 전달하는 가장 좋은 방법
- 19. ListBox에서 선택한 개체의 다른 속성을 설정하십시오.
- 20. 다른 개체의 개체에 대한 속성/목록 변경을 유사하게
- 21. 개체에 대한 참조로 속성을 설정하십시오.
- 22. 원본 개체의 이벤트를 완전 복사 된 복제본에 첨부하는 방법
- 23. .net에서 런타임에 개체에 속성을 추가하는 방법?
- 24. 다른 유형의 Entity 개체의 공통 속성을 업데이트하는 방법?
- 25. 최대 절전 모드 - 다른 개체의 속성을 기반으로 결과를 정렬하는 방법
- 26. 다른 속성을 가질 수있는 엔티티를 모델링하는 가장 좋은 방법은 무엇입니까?
- 27. 가장 좋은 방법은 설명하기
- 28. 대리인이 다른 속성을 검색하여 찾은 개체의 속성을 반환합니까?
- 29. .NET에서 개체의 속성을 지정하여 개체 모음을 가장 빨리 검색하십시오.
- 30. 다른 작업을 시작하는 가장 좋은 방법
나는 당신이 무슨 뜻인지 모르겠다. 당신은'var' 문을 객체 리터럴 안에 가지고 있고':'대신'='를 사용합니다. – pimvdb