JS高级 - 面向对象1(this,Object ,工厂方式,new )
2017-10-05 00:50
519 查看
面向对象三要素:
封装
继承
多态
this —— 函数属于谁
工厂方式的问题:
1.没有new
2.每个对象都有一套自己的函数 —— 浪费资源
封装
继承
多态
1.this 详解,事件处理中this的本质
windowthis —— 函数属于谁
<script type="text/javascript"> var arr=[12,65,87]; //this:当前的方法,属于谁 arr.show =function (argument) { // body... console.log(this); //[12,65,87] } arr.show(); function show(){ console.log(this); //window } show(); </script>
2.Object 的使用:
<script type="text/javascript"> var obj = new Object(); obj.aaa = 12; obj.show = function (argument) { console.log(this.aaa); //12 } obj.show(); </script>
3.工厂方式:
<script type="text/javascript"> function createPerson(name, sex) { var obj = new Object(); obj._name = name; obj._sex = sex; obj.showName = function() { console.log('我的名字叫:' + this._name); } obj.showSex = function() { console.log('我是' + this._sex + '的'); } return obj; } var p1 = createPerson('唐三', '男'); p1.showName(); p1.showSex(); var p2 = createPerson('唐九妹', '女'); p2.showName(); p2.showSex(); </script>
工厂方式的问题:
1.没有new
2.每个对象都有一套自己的函数 —— 浪费资源
4.new的情况:
<script type="text/javascript"> function createPerson(name, sex) { //var this = Object(); this._name = name; this._sex = sex; this.showName = function() { console.log('我的名字叫:' + this._name); } this.showSex = function() { console.log('我是' + this._sex + '的'); } //return this; } var p1 = new createPerson('唐三', '男'); //new 的情况下 p1.showName(); p1.showSex(); var p2 = new createPerson('唐九妹', '女'); p2.showName(); p2.showSex(); </script>
相关文章推荐
- 尚学堂js面向对象开发 (五)两种创建对象的方式(工厂方式,构造方法)
- js中创建对象是,工厂方式与构造函数方式中this的区别
- js中创建对象时,工厂方式与构造函数方式中this的区别
- 简单理解js面向对象工厂方式
- JS中this上下文对象使用方式
- JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍
- JS面向对象定义多个属性--object.defineProperties()方法
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- JS 中 this上下文对象的使用方式
- SAPUI5 - JS面向对象继承方式的实现
- js 初始化日期对象 new Date() 常用方式
- JS的面向对象之new
- 为什么不使用工厂模式,以new Class的方式实例化对象并调用方法不利于项目升级的维护
- js开发:通过面向对象方式完成的拖拽功能
- js高级——创建对象的方式
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- JS面向对象高级特性
- JS基础 面向对象方式写选项卡
- JS中定义对象方式二: 使用工厂方式创建对象(传递参数,及其改进方法)