this、new、模式工厂、创建新的构造函数
写在前面:今天我将发表函数基础、对象基础、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();