초보적 인식 대상 2

5599 단어
  • 1.객체에 대한 일반 쓰기 방법:
  • 1. , 
        function dog(){
    /*1.1 */
            var obj = new Object();
    /*1.2 */
            obj.name = ' ';
            obj.age = 0;
            obj.dogFrends = [' ',' '];
            obj.eat = function(){
                console.log(' ');
            }
            obj.run = function(){
                console.log(' ');
            }
    /* */
            return obj;
        }
        var smallDog = dog();
        console.log(smallDog.name);
        var bigDog = dog();
        console.log(bigDog.age);
    
  • 2.객체에 대한 매개 변수 전달:
  • 1. , 
        function dog(name,age,dogFriends){
    /*1.1 */
            var obj = new Object();
    /*1.2 */
            obj.name = name;
            obj.age = age;
            obj.dogFrends = dogFriends;
            obj.eat = function(){
                console.log(' ');
            }
            obj.run = function(){
                console.log(' ');
            }
    /* */
            return obj;
        }
        var smallDog = dog(' ',0,[' ',' ']);
        console.log(smallDog.age);
        var bigDog = dog(' ',2,[' ',' ']);
        console.log(bigDog.age);
    
  • 3.this 수신 매개 변수 사용:
  • 1. , 
        function dog(name,age,dogFriends){
    /*1.1 */
            var obj = new Object();
    /*1.2 */
            this.name = name;
            this.age = age;
            this.dogFrends = dogFriends;
            this.eat = function(){
                console.log(' ');
            }
            this.run = function(){
                console.log(' ');
            }
    /* */
            return obj;
        }
        var smallDog = dog(' ',0,[' ',' ']);
        console.log(smallDog.age);
        var bigDog = dog(' ',2,[' ',' ']);
        console.log(bigDog.age);
    
  • 이런 방식으로 창설지 대상은 템플릿으로 사용할 수 있지만 우리가 창설하는 과정은 하나의 대상을 만들어야 하고 매번 이 대상을 되돌려야 하기 때문에 우리는 이 방법을 개조해야 한다.
  • 4.구조 함수를 사용하여 객체 만들기:
  • 1. , 
        function Dog(name,age,dogFriends){
    /*1.2 */
            this.name = name;
            this.age = age;
            this.dogFrends = dogFriends;
            this.eat = function(someThing){
                console.log( this.name+' '+someThing);
            }
            this.run = function(someWhere){
                console.log(this.name +' '+someWhere);
            }
        }
        var smallDog = new Dog(' ',0,[' ',' ']);
        console.log(smallDog.age);
        var bigDog = new Dog(' ',2,[' ',' ']);
        console.log(bigDog.age);
        smallDog.eat(' ');
        bigDog.eat(' ');
    
  • 5.구조 함수를 사용하여 대상 최적화 매개 변수 만들기
  •      , , , 。
    1. , 
        function Dog(option){
    /*1.0 */
            var option = option ||{};
    /*1.1 */
            this.name = option.name;
            this.age = option.age;
            this.dogFrends = option.dogFrends;
            this.eat = function(someThing){
                console.log( this.name+' '+someThing);
            }
            this.run = function(someWhere){
                console.log(this.name +' '+someWhere);
            }
        }
        var smallDog = new Dog({name:' ',age:0,dogFriends:[' ',' ']});
        console.log(smallDog.age);
        var bigDog = new Dog({name:' ',age:2,dogFriends:[' ',' ']});
        console.log(bigDog.age);
        smallDog.eat(' ');
        bigDog.eat(' ');
        alert(smallDog.eat == bigDog.eat);  //false
    
  • 구매 함수를 통해 만들어진 대상은 하나하나가 새로운 대상이다
  • 그들 안의 동명 방법은 같지 않다
  • 그러나 우리가 이 방법으로 실현한 기능은 같다
  • 그래서 우리는 매번 대상을 만들 때마다 방법을 설정할 필요가 없다
  • 이 가장 좋다. 이 창설된 대상들이 가지게 하는 것은 같은 방법이다
  • 6.원형 객체 사용
  • 1. , 
        function Dog(option){
    /*1.0 */
            var option = option ||{};
    /*1.1 */
            this.name = option.name;
            this.age = option.age;
            this.dogFrends = option.dogFrends;
     }
        Dog.prototype = {
            eat:function(someThing){
                console.log( this.name+' '+someThing);
            },
            run:function(someWhere){
                console.log(this.name +' '+someWhere);
            }
        }
        var smallDog = new Dog({name:' ',age:0,dogFriends:[' ',' ']});
        console.log(smallDog.age);
        var bigDog = new Dog({name:' ',age:2,dogFriends:[' ',' ']});
        console.log(bigDog.age);
        smallDog.eat(' ');
        bigDog.eat(' ');
    
  • 7.객체 최종 버전 만들기:
  •  /*1. , 
        function Dog(option){
    /* , */
            this._init(option);
        }
    // 
        Dog.prototype = {
    /* */
            _init:function(option){
    /*1.1 */
                var option = option ||{};
                this.name = option.name;
                this.age = option.age;
                this.dogFrends = option.dogFrends;
            },// 
            eat:function(someThing){
                console.log( this.name+' '+someThing);
            },
            run:function(someWhere){
                console.log(this.name +' '+someWhere);
            }
        }
        var smallDog = new Dog({name:' ',age:0,dogFriends:[' ',' ']});
        console.log(smallDog.age);
        var bigDog = new Dog({name:' ',age:2,dogFriends:[' ',' ']});
        console.log(bigDog.age);
        smallDog.eat(' ');
        bigDog.eat(' ');
    
  • 8.this의 인식
  • this가 나타내는 의미:this는 일반적으로 함수(방법)에 놓여 있다. 만약에 어느 대상이 이 함수를 가지고 있다면this는 이 대상의 모든 전역 변수와 방법이 윈도우의 속성과 방법이라는 것을 나타낸다
  •     function dog(){
            alert(this);
        }
        dog();
    //    new , dog , this .
       new dog();
    
  • this의 특수한 용법:this가 이벤트 지령에 있으면 이벤트 트리거자를 표시하고, 일반적으로this가 타이머에 있으면 윈도우
  • 를 표시한다.

    좋은 웹페이지 즐겨찾기