JavaScript 대상 직접 3 가지 생 성 대상 방식

본 고 는 주로 자 바스 크 립 트 대상 을 직접 3 가지 생 성 대상 방식 으로 소개 한다.
다음 세 가지 방식 으로 만 든 대상 은 효과 와 같은 효 과 를 가진다.
방식 1
var fun2 = function() {
			return {
				name: 'kancy',
				play: function() {
					alert(this.name);
				},
				address: {}
			};
		};
		console.log(typeof fun2); //function
		console.log(typeof fun2()); //object
		console.log(typeof fun2().name); //string
		//console.log(typeof fun2().name());  //   :"Uncaught TypeError: string is not a function"
		console.log(typeof fun2().play); //function
		console.log(typeof fun2().play()); //undefined,    return
		console.log(typeof fun2().address); //object
		//console.log(typeof fun2().address());  //   :"Uncaught TypeError: object is not a function"

방식 2
	var fun4 = function() {
			this.name= 'kancy';
			this.play= function() {
				alert(this.name);
			},
			this.address={				
			}
			return this; //     return,             
		};
		console.log(typeof fun4); //function
		console.log(typeof fun4()); //object
		console.log(typeof fun4().name); //string
		console.log(typeof fun4().play); //function
		console.log(typeof fun4().play()); //undefined,    return
		console.log(typeof fun4().address); //object		
		var q1 = new fun4();
		q1.name="q1";
		console.log(q1.name);
		q1.name="q2";
		var q2 = new fun4();
		console.log(q2.name);

방 식 삼
	var fun5 = function() {
			var obj ={};
			obj.name= 'kancy';
			obj.play= function() {
				alert(this.name);//   alert(obj.name);
			},
			obj.address={
				
			}
			return obj;
		};
		console.log(typeof fun5); //function
		console.log(typeof fun5()); //object
		console.log(typeof fun5().name); //string
		console.log(typeof fun5().play); //function
		console.log(typeof fun5().play()); //undefined,    return
		console.log(typeof fun5().address); //object	

좋은 웹페이지 즐겨찾기