JAVASCRIPT筆記

1.原型鏈

2.三种不同的继承方式

        function Student(name,age){            

            this.name=name

            this.age=age

        }

   2.1原型链继承:将Animal创建出来的对象 赋值给Dog的原型  将父级的对象 赋值给子级的原型.

         问题 :无法对属性进行初始化 ,所有的属性都是固定

        Student.prototype.read=function(){

            console.log(this.name+'正在讀書')

        }       

        function Purple(name,age){ }

        Purple.prototype=new Student("小明",12)

        var s1=new Purple("小紅",10)

         s1.read()//輸出:小明正在讀書。(而不小紅正在讀書)

   2.2冒充继承:通过 call或者apply来改变this的指向性来完成的继承

        问题:无法继承原型上的内容

        function Purple(name,age){

                Student.call(this,name,age)

        }

        var s1=new Purple("小紅“,10)

        s1.read()//輸出:會報錯,因為不會繼承Student的原型

   2.3混合继承:通过冒充继承,继承构造函数中的内容,通过原型链继承 继承原型上的内容        

        function Purple(name,age){

                Student.call(this,name,age)

         }

         Purple.prototype=new Student()

        var s1=new Purple("小紅”,12)

        s1.read()//輸出:小紅正在讀書

3.call和apply的用法(改变this的指向性)

        function Student(name,age){

            this.name=name

            this.age=age

            this.showInfo=function(){

                console.log(this.name)

            }

            this.abc=function(a,b,c){

                console.log(this.name+a+b+c)

            }

        }

        var s1=new Student("王一",21)

        var s2=new Student('王二',22)

        //.call(对象,参数,参数.....) 改变this的指向

        // 第一个参数:更改this指定到的对象

        // 后面的参数就是当前方法需要的参数

        s1.abc.call(s2,2,3,4)  //輸出:王二234

        //.apply(对象,[参数,参数,参数,...]) 改变this指向 ,还可以改变 传参的方式 , 用数组传参

        s1.abc.apply(s2,[2,3,4])

        //Math.max() 一组数中 最大的数;Math.min() 一组数中 最小的数

         var arr=[20,230,123,124,12]

         var max=Math.max(arr)        

         var max=Math.max.apply(null,arr)

4.set,get的作用及目的    

    私用屬性只能通过方法修改不能直接修改,通过特定的方法 访问以及修改

     set設定或修改私用屬性;get取得私用屬性

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值