기본 js는 jquery_javascript 기술의 확장() 메서드와 유사하게 객체 복사 및 객체 확장을 실현합니다.

WBOY
풀어 주다: 2016-05-16 16:38:27
원래의
1176명이 탐색했습니다.

jq의 extend() 메소드는 확장된 객체 메소드를 쉽게 구현할 수 있습니다. 구문은 다음과 같습니다: $.extend(obj1,boj2,obj3);

지금 구현해야 할 사항은 다음과 같습니다. 네이티브 js는 jq의 확장() 메서드와 유사하게 객체 복사 및 객체 확장을 구현합니다.
현재 3개의 객체 리터럴이 있습니다:

var o1={hello:1,old:555},
o2 = {
abc: 55555555,
hello: 2,
fun: function() {
alert(111);
}
},
o3={third:9999};
로그인 후 복사

목표 달성:

o1 객체를 복사하고, o2와 o3의 객체 속성과 메소드를 이전에 복사한 객체로 확장하여 출력합니다.

<script>
var o1={hello:1,old:555},
o2 = {
abc: 55555555,
hello: 2,
fun: function() {
alert(111);
}
},
o3={third:9999};
function cloneObj(oldObj) { //复制对象方法
if (typeof(oldObj) != 'object') return oldObj;
if (oldObj == null) return oldObj;
var newObj = new Object();
for (var i in oldObj)
newObj[i] = cloneObj(oldObj[i]);
return newObj;
};
function extendObj() { //扩展对象
var args = arguments;
if (args.length < 2) return;
var temp = cloneObj(args[0]); //调用复制对象方法
for (var n = 1; n < args.length; n++) {
for (var i in args[n]) {
temp[i] = args[n][i];
}
}
return temp;
}
var t=extendObj(o1,o2,o3);
console.log(t);
console.log(o1);
console.log(o2);
console.log(o3);
</script>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!