大家好!
今天开始就要学习函式库的基础了。
我们进入今天的主题吧!
我们先来看下方的资料:
let record;
record = {
name: 'Felix',
date: '2021-09-16',
post: 1
};
record; // { name: 'Felix', date: '2021-09-16', post: 1 }
/* ... */
record = {
name: 'Felix',
date: '2021-10-15',
post: 30
};
record.status = true; /* 更新挑战状态 */
record; // { name: 'Felix', date: '2021-10-15', post: 30, status: true }
如果要记录 Felix 的铁人赛发文状态,这是最直觉的方式。
但是,每次赋值都一定要重写物件,难道没有像下方这样的模板吗?
let record;
record = new Ironman('Felix', '2021-09-16', 1);
record; // { name: 'Felix', date: '2021-09-16', post: 1 }
/* ... */
record = new Ironman('Felix', '2021-10-15', 30);
record.finish();
record; // { name: 'Felix', date: '2021-10-15', post: 30, status: true }
当然是有的,这就是接下来要介绍的建构函式。
上方的模板能减少很多不必要的动作,也能确保物件的属性都能保持一致。
先来学习建立建构函式:
function Ironman(n, d, p) {
this.name = n;
this.date = d;
this.post = p;
}
这样就建立完建构函式了,上方说的模板就能直接使用了!
建构函式顾名思义就是函式的一种,只是呼叫的方式要搭配 new
这个关键字。
至於建构函式中的 this
则是代表新的物件本身:
new Ironman('Felix', '2021-09-16', 1);
// { name: 'Felix', date: '2021-09-16', post: 1 }
是不是新的物件都有建构函式中的属性呢?
建构函式能让我们节省许多不必要花费的时间,但是接下来其实才是重头戏呢!
差不多也到尾声了。
如果对文章有任何疑问,欢迎於下方提问和建议!
我是 Felix,我们明天再见!
<<: RISC-V: 在指令之前的 Register File
>>: Day 06-Visual Studio 2019下载教学+初步建立chatbot专案
在64位元系统指标是64/8 = 8bytes,而double也是8bytes若指标指向更小的型态如...
即使HTTP基本身份验证确实使用Base64来编码用户ID和密码,HTTP仍以明文形式传输编码,并依...
哈罗~ 来review一下, 之前提到维持权限时, 攻击者会建立後门或Rootkit, 并且会隐藏其...
当要开发一个大型专案的时候,往往会落入一个错误的认知,就是认为投入的人数越多,开发越快。 软件开发需...
最近公司赞助我到Intelligent Automation & Soft Computin...