JS高级 - 面向对象3(面向过程改写面向对象)
2017-10-05 01:01
239 查看
改写:
1.前提:所有东西都在
2.改写:不能有函数嵌套,可以有全局变量
onload --> 构造函数
全局变量 --> 属性
函数 --> 方法
4.改错: this
1.定时器
定时器调用的
解决方法:再套一层
2.事件
1.前提:所有东西都在
onload里
2.改写:不能有函数嵌套,可以有全局变量
onload --> 构造函数
全局变量 --> 属性
函数 --> 方法
4.改错: this
this啥时候会出问题?
1.定时器
<script> function Aar() { this.a = 12; setInterval(this.show, 1000); //这里的this 是window } Aar.prototype.show = function() { console.log(this.a); }; var obj = new Aar(); //obj.show(); //12 </script> </script>
定时器调用的
this是指
window。
解决方法:再套一层
<script> function Aar() { var _this = this; //obj对象 this.a = 12; // setInterval(this.show, 1000); //这里的this 是window setInterval(function() { _this.show() }, 1000); //这里调用_this(obj对象) } Aar.prototype.show = function() { console.log(this.a); }; var obj = new Aar(); //obj.show(); //12 </script>
2.事件
相关文章推荐
- 大话JS面向对象之扩展篇 面向对象与面向过程之间的博弈论(OO Vs 过程)------(一个简单的实例引发的沉思)
- JS面向对象与面向过程
- js面向过程改写成面向对象--通用方法
- js面向对象---无缝轮播图(附面向过程代码)
- C#高级——创建Person类,分别使用面向过程的方法和面向对象的方法
- 通过callback实现 讨论面向过程和面向对象 的JS编程的区别
- JS----拖拽图层,面向过程,面向对象
- js的两面-面向过程和面向对象
- 面向对象 面向过程的区别
- JS高级. 02 面向对象、创建对象、构造函数、自定义构造函数、原型
- 关于面向对象(Object Oriented)和面向过程(Procedural Programming)的比较(转载+汇总)
- 什么是面向对象 什么是面向过程 面向对象和面向过程的区别
- 架构师之路(1)---面向过程和面向对象
- 面向过程与面向对象
- [转]面向过程的分析(POA),和面向对象的分析(OOA)
- [面向过程——老酒换新瓶] (一)开篇:是面向过程还是面向对象?
- 面向过程VS面向对象
- OC 面向对象的理念,C 语言面向过程的理念
- 架构师之路(1)---面向过程和面向对象
- JS面向对象学习之普通面向过程式选项卡编写(笔记)