JavaScript 设计模式 富有表现力的Javascript(一)
发布时间:2023-08-25 07:42:15
标签:JavaScript,设计模式
正题:
1.1 javascript的灵活性
面向对象对象的Javascript编程模式:1、可以保存状态 2、具有对象内部才能调用的方法 3、对编写的程序更能掌握其结构,能经受的起迭代开发(个人认为)
//够造函数,也可俗称为类
var Anim=function(){
...
}
//类中的方法,javascript中的原型
Anim.prototype.start=function(){
...
}
注:一般讲方法放入原型中,因为原型中一般存储不变通用的东西
代码
Function.prototype.method=function(name,fn){
this.prototype[name]=fn;
}
var Anim=function(){
}
Anim.method("start",function(){alert("开始了")})
Anim.method("stop",function(){alert("停止了")})
var anim=new Anim();
anim.start();
anim.stop();
上面的代码突显出一下几点:
1、所有function都是Function这个类的对象 比如 var f=new Function("alert();")
2、我们也可以往系统默认类原型中添加方法,但这不提倡,容易混乱
函数是一等对象:
匿名函数可以创建闭包(闭包将另开一个篇进行学习)


猜你喜欢
- 一个asp显示当前日期农历的代码函数,效果 今天是:农历丁亥年(猪)八月十三。调用方便!Function nl()'获取当前系统时间
- 假设有2个有序列表l1、l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序。思路是比较简单的,无非是依次比较l1和l
- 主要是要注意权限的问题,一般做发布/订阅,建议你做如下准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的
- gitee的指定分支想上传的本地文件夹为C#learning下面为使用git将这个C#learning上传到项目的example的方法1.在
- 首先我们需要导入random模块 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间impor
- 前言首先,先说明我只是初步接触yolov7,写这篇文章的主要目的是可以让大家快速应用自己的数据集进行训练。没有接触过yolov5也没有关系,
- 作业备份,不是备份数据库,是备份作业。 我的方法是把作业导出成文件备份起来,因为当你服务器维护的多了的时候很多你的作业 就很成问题,很麻烦。
- 1.环境mysql 8.0Django 3.2pycharm 2021.112. (No changes detected)及解决2.1 问
- Excel 中的每一个单元,都会有这些属性:颜色(colors)、number formatting、字体(fonts)、边界(border
- 背景:路由结构/video/1.mp4,即/video是父路由,/1.mp4是/video的动态子路由,在/video父路由中会通过url的
- 例如我们有如下结构的文件:pkg/ __init__.py libs/ some_lib.py __init__.py components
- 均方损失函数:这里 loss, x, y 的维度是一样的,可以是向量或者矩阵,i 是下标。很多的 loss 函数都有 size_averag
- 引 言前提:以下讨论的前提 是设置MySQL的crash safe相关参数为双1:sync_binlog=1innodb_flush_log
- 现在是好时机来指出Django和URL配置背后的哲学: 松耦合 原则。 简单的说,松耦合是一个 重要的保证互换性的软件开发方法。Django
- 一、概述 对象是Oracle8i以上版本中的一个新的特性,对象实际是对一组数据和操作的封装,对象的抽象就是类。在面向对象技术中,对象涉及到以
- 1、环境1、python 3.72、pyinstaller2、下载方式:2.1 python安装(略)2.2 安装pyinstaller打开
- 正文 curl,用于发送请求的命令行工具,一个 HTTP 请求客户端(实际上它也可以做 FTP/SCP/TELNET 协议的事情,
- Python获取当前时间_获取格式化时间:Python获取当前时间:使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点
- 本文实例讲述了javascript基于prototype实现类似OOP继承的方法。分享给大家供大家参考,具体如下:这里要说明的是,公有属性(
- jwt的问题首先说明一个jwt存在的问题,也就是要替换jwt的原因:jwt无法在服务端主动退出的问题jwt无法作废已颁布的令牌,只能等到令牌