码迷,mamicode.com
首页 > Web开发 > 详细

关于js中函数的一点总结

时间:2019-09-29 21:55:24      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:作用域   div   pre   作用   his   col   apply   log   prot   

1函数中this作用域

this根据当前环境来决定作用域,可以使用call和apply的方法来改变当前的this指向

    <script>
        var name = "global";
        function fn(){
            console.log(this.name);
        };
        fn();//函数申明式,this指向全局,"global"
        var obj ={
            name:"object",
            say:function(){
                console.log(this.name);
            }
        }
        obj.say();//对象中调用,this指向当前对象,"object"
        function Person(){
            this.name="person";
            this.say=function(){
                console.log(this.name);
            }
        }
        var p = new Person();
        p.say();//构造函数中调用指向当前构造函数,“person”
    </script>

2函数的继承方法

构造函数和函数原型的继承

在构造函数里调用call,实现继承

    <script>
        function Parent(){
            this.name = "zzz";
            this.age = 233;
        };
        function Child(){
            Parent.call(this);
            this.favor = "dance";
        }
        var p = new Parent();
        var c = new Child();
        console.log(p);//{name: "zzz", age: 233}
        console.log(c);//{name: "zzz", age: 233, favor: "dance"}
    </script>

原型链的继承

    <script>
        function Parent(){
            this.name = "zzz";
            this.age = 23;
        };
        function Child(){
            this.favor = "dance";
        }
        Parent.prototype.id=233;
        Child.prototype = new Parent();
        var c = new Child();
        console.log(c.id);//233
    </script>

关于js中函数的一点总结

标签:作用域   div   pre   作用   his   col   apply   log   prot   

原文地址:https://www.cnblogs.com/Zxq-zn/p/11479547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!