JS之用面向对象和传统过程式编程

简介: 改写成面向对象时,可先将普通函数变型,再改成面向对象。普通方法变型普通方法变型,变型有3个原则1)尽量不要出现函数嵌套函数2)可以用全局变量3)把onload中不是赋值的语句放到单独函数中如下代码中,完成了普通函数的变型。

JS之用面向对象和传统过程式编程



一、过程式编程


如下图所示,为了实现一个div元素的拖拽功能写的代码,这是过程式编程的写法,当JS代码较少时,没必要使用面向对象。杀鸡无需用牛刀。


20180630142636760.png


二、面向对象


改写成面向对象时,可先将普通函数变型,再改成面向对象。

普通方法变型

普通方法变型,变型有3个原则

1)尽量不要出现函数嵌套函数

2)可以用全局变量

3)把onload中不是赋值的语句放到单独函数中

如下代码中,完成了普通函数的变型。


2018063014270430.png


改成面向对象


步骤如下:

1)全局变量作为属性,放在构造函数中

2)函数作为方法,放在原型中

3)在onload中创建对象

4)修改this的指向问题。

修改后的代码如下:


20180630142736141.png


如果再有另外几个元素需要拖拽,只有创建对象,执行相应函数就行了,代码复用性高。


三、总结


面向对象其实就是在模拟系统对象的行为。比如数组对象的sort、push方法,插拔式的随插随用,还可以组合使用。



目录
相关文章
|
3月前
|
存储 JavaScript 前端开发
JavaScript编程实现tab选项卡切换的效果+1
JavaScript编程实现tab选项卡切换的效果+1
|
4月前
|
JavaScript 前端开发 编译器
解锁JavaScript模块化编程新纪元:从CommonJS的基石到ES Modules的飞跃,探索代码组织的艺术与科学
【8月更文挑战第27天】随着Web应用复杂度的提升,JavaScript模块化编程变得至关重要,它能有效降低代码耦合度并提高项目可维护性及扩展性。从CommonJS到ES Modules,模块化标准经历了显著的发展。CommonJS最初专为服务器端设计,通过`require()`同步加载模块。而ES Modules作为官方标准,支持异步加载,更适合浏览器环境,并且能够进行静态分析以优化性能。这两种标准各有特色,但ES Modules凭借其更广泛的跨平台兼容性和现代语法逐渐成为主流。这一演进不仅标志着JavaScript模块化的成熟,也反映了整个JavaScript生态系统的不断完善。
53 3
|
29天前
|
前端开发 JavaScript 持续交付
提高JavaScript编程效率
提高JavaScript编程效率
27 3
|
1月前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包:解锁编程潜能,释放你的创造力
【10月更文挑战第25天】本文深入探讨了JavaScript中的闭包,包括其基本概念、创建方法和实践应用。闭包允许函数访问其定义时的作用域链,常用于数据封装、函数柯里化和模块化编程。文章还提供了闭包的最佳实践,帮助读者更好地理解和使用这一强大特性。
21 2
|
3月前
|
JavaScript 前端开发
JavaScript编程实现tab选项卡切换的效果
JavaScript编程实现tab选项卡切换的效果
|
3月前
|
JavaScript 前端开发
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
|
3月前
|
JavaScript 前端开发 安全
JavaScript编程实现字符和字符串翻转
JavaScript编程实现字符和字符串翻转
|
3月前
|
JavaScript 前端开发
用JavaScript编程定义二维数组并初始化,然后输出元素值
用JavaScript编程定义二维数组并初始化,然后输出元素值
|
4月前
|
JavaScript 前端开发 安全
揭秘TypeScript的魔力:它是如何华丽变身为JavaScript的超能英雄,让您的代码飞入全新的编程维度!
【8月更文挑战第22天】在Web开发领域,JavaScript是最主流的编程语言之一。但随着应用规模的增长,其类型安全和模块化的不足逐渐显现。为解决这些问题,微软推出了TypeScript,这是JavaScript的一个超集,通过添加静态类型检查来提升开发效率。TypeScript兼容所有JavaScript代码,并引入类型注解功能。
42 2
|
4月前
|
JavaScript 前端开发 Oracle