JS 에서 콜 방법 으로 상속 실현

15638 단어 call
설명 은 모두 주석 안에 쓰 여 있 습 니 다. 잘못된 부분 이 있 으 면 벽돌 을 두 드 려 주 십시오. 감사합니다!
 
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>JS  call      </title>

</head>

<body>

    <script type="text/javascript">



        /*  js           ,         call       。

        

                           ,     。



          ,    call         :



        call                        。



                ,



                ,     :



        */



        function a() {

            this.name = "  a";



            this.showName = function () {

                alert(this.name);

            }

        }



        function b() {

            this.name = "  b";

        }



        var _a = new a();

        var _b = new b();



        //          :  _b     _a    _a  showName  。

        //        _a     _b, showName     this       b  ,    a

        //       :   b

        _a.showName.call(_b);



        /*

         ,     ,        ,           。

          ,    ,         。

        */





        /*

               4  :  (animal) ;  (person) ;    (chinese) ;    (japanese)。



            :

        */



        function animal() {

            this.eat = function () {

                alert("       ");

            }

        }



        function person() {

            this.say = function () {

                alert("      ");

            }

        }



//        function chinese() {

//            this.ch = function () {

//                alert("     ");

//            }

//        }



//        function japanese() {

//            this.ja = function () {

//                alert("     ");

//            }

//        }





        /*      4       

            

                :          



                                    



              : 

            

             JS            。

               japanese         animal   person ,

               C# java  ,         ,         。

            



                 chinese japanese  :

        

        */





        function chinese() {

            person.call(this); //    person   ( chinese   person)



            this.ch = function () {

                alert("     ");

            }

        }





        function japanese() {

            animal.call(this); //    animal  

            person.call(this); //    person  



            this.ja = function () {

                alert("     ");

            }

        }





        /*

                :     ,                  。

                          



              :

            js     ,              。

                             。           

               js      ,  ,  ,                  

                 。



                  :

        */



        //     

        var c = new chinese();

        var j = new japanese();

        var p = new person();



        c.say(); //     person   say   

        c.ch();  //    ch   



        j.eat();  //     animal   eat   

        j.say();  //     person   say   

        j.ja();   //    ja   



        p.say();  //    say   



        /*

                   ,

                person             ,

              p  ch ja  。



            p.ch();

            p.ja();

        */



    </script>

</body>

</html>

 

좋은 웹페이지 즐겨찾기