首页 > 作文

javascript构造函数的作用(构造函数的八种方法)

更新时间:2023-04-05 02:55:47 阅读: 评论:0

由于javascr让人开心的幽默句子ipt的特性,一个构造函数就可以实现类的功能,所以有的时候,我们定义一个类,往往可以直接写一个构造函数:

function cup(cupcover, cupbody, cupbottom) {    this.cupcover = cupcover    this.cupbody = cupbody    this.cupbottom = cupbottom}复制代码

这样的定义方式很灵活简单,但有时候实例化出错了,也不会有相应的提示。

比如我们这样的实例化:

let cup = cup('iron', 'plastic', 'rubber')复制代码

当我们没有加上new的时候,编译器并不会提示(弱类型的特点),而且由于cup本身就是一个函数,所以在使用的时候,也可以正常运行。

但是当我们cup此时肯定不是cup类的,显而易见,当我们把cup当作一个函数执行的时候,cup的值取决于函数的返回。这里没有返回,所以是undefined。

那么我们执行完这个cup()函数后,造成了什么影响呢?答案是cup的属性绑定到了全局变量上。对于浏览器来说就是window

cup.cupcover // undefinedwindow.cupcover // "iron"复制代码

所以,我们该如何避免这种情况发生呢?

我们可以稍稍改造一下cup构造函数:

function cup(cu中国骄傲作文pcover, cupbody, 如何找到个人档案cupbottom) {    if(this instanceof cup) {        this.cupcover = cupcov父亲节发朋友圈的句子er        this.cupbody = cupbody        this.cupbottom = cupbottom    }    el {        return new cup()    }}复制代码

这样当我们再次不小心执行let cup = cup(‘iron’, ‘plastic’, ‘rubber’)时,由于此时的this并不是cup的派生类,所以我们直接返回一个实例。

let cup = cup('iron', 'plastic', 'rubber')cup.cupcover // "iron"复制代码

而这种形式的构广东医药大学造函数,就是今天要说的安全模式的构造函数。

本文发布于:2023-04-05 02:55:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/2b3212085e3d1a6fb363440769ea1861.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:javascript构造函数的作用(构造函数的八种方法).doc

本文 PDF 下载地址:javascript构造函数的作用(构造函数的八种方法).pdf

下一篇:返回列表
标签:函数   当我们   代码   实例
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图