面向对象中关键字符 new的意义
来源:互联网 发布:电视网络怎么连接不上 编辑:程序博客网 时间:2024/06/07 16:24
function Person(name){ console.log(thhis);//this指向window var obj = new Object(); obj.name = name; obj.showName = function(){ console.log(obj.name); } return obj;}
以上代码我能得到一个Person类
var p1 = Person(‘张三’);
var p2 = Person(‘李四’);
首先说一下这种写法的问题;
关于this,在Person类的内部this其实指向的是window;Person类其实是一个封装函数;它不属于某一个对象,它是全局的;所以挂在到的是window对象;一般函数中this指向的是这个方法所属的那个对象;不难理解,最终this指向window;
而new 存在的意义是什么呢;
当new 去调用一个函数;函数中this指向的就是这个对象实例;并且函数的返回值就是这个this;
function Person(name){ console.log(thhis);//this指向对象实例 this.name = name; this.showName = function(){ console.log(obj.name); }}
var p1 = new Person(‘张三’);
var p2 = new Person(‘李四’);
上面的写法就是我们平常所说的工厂模式;
工厂模式本质就是封装函数;
好处就是,对象不用一个个去写;同类的对象只要new一下就得到了。
0 0
- 面向对象中关键字符 new的意义
- 面向对象的意义
- Lua中面向对象之new的传参方式
- 面向对象分析与设计的意义
- 面向对象程序设计的关键要素
- C++中New存在的意义
- Java面向对象03-对象内存管理,继承的意义
- matlab中特殊意义的字符
- 面向对象new
- spring local关键的意义
- 面向对象编程的几个关键概念继承、多态、组合
- 在catch块中throw new Exception的意义
- catch块中throw new Exception的意义
- 在catch块中throw new Exception的意义 .
- C#中A a=new B()的意义
- C#中A a=new B()的意义
- java语言基础(25)——面向对象(new对象的时候内存中发生了哪些变化)
- new关键的深刻认识
- openwrt: Makefile 框架分析
- Scanning results in "Communication Error" in AppScan Standard 9.0
- 页面莫名其妙刷新或者提交的解决方案
- 使用GVM管理Go版本
- javascript中的typeof返回数据类型注意
- 面向对象中关键字符 new的意义
- [动态规划] [LCS算法] 最长公共子序列 longest common subsequence
- 统计字符出现次数
- STL generate()与generate_n()
- 浅谈UML的概念和模型之UML九种图
- ifconfig中lo、eth0、br0、wlan0接口
- shell echo 命令
- OpenWRT开发之——研究包的Makefile
- Android关于Theme.AppCompat相关问题的深入分析