this、new、模式工厂、创建新的构造函数

写在前面:今天我将发表函数基础、对象基础、this、new、封装、封装例子  这几篇个人理解文章。最好能一口气看完,并自己写下,相信会对想要理解函数和对象的朋友们会有一些帮助,这些仅仅只是基础,后面还有的原型链理解、闭包都是基础,都是为了更好的理解面向对象概念。

 

太基础的东西,有点不想写在博客里,附上网址。

http://www.yueqingfang.cn

基础的东西,我都写在这个网址里了。一些要注意的点才写在博客里。

 

目录:模式工厂、 this、new创建新的构造函数

 

模式工厂:将对象放入函数中,批量创建对象

  代码:

        function Student(name,age,sex){
            var o=new Object();//先定义一个对象,
            o.name=name;
            o.age=age;
            o.sex=sex;
            o.sayHi=function(){
                console.log("我叫"+o.name);
            }
            return o;//返回对象,这个对象里有name,age,sex,sayHi
        }
        //使用构造函数的方式定义ls
        var ls=new Student("李四",25,"男");
        var ls2=new Student("王五",22,"女");
        ls.sayHi();

 

this:谁调用,指代谁,不二话。
new: new 关键字来完成
1、创建一个空对象
2、将关键字this指向这个空对象
3、执行构造函数里面的代码,给当前空对象this设置属性和方法
4、将this这个当前对象返回

 

创建新的构造函数(也就是封装)代码:

        function Student(name,age,sex){
            var o=new Object();//先定义一个对象,
            o.name=name;
            o.age=age;
            o.sex=sex;
            o.sayHi=function(){
                console.log("我叫"+o.name);
            }
            return o;//返回对象,这个对象里有name,age,sex,sayHi
        }
        //使用构造函数的方式定义ls
        var ls=new Student("李四",25,"男");
        var ls2=new Student("王五",22,"女");
        ls.sayHi();

 

posted @ 2016-08-07 22:31  灬安  阅读(272)  评论(0编辑  收藏  举报