位置: 编程技术 - 正文
推荐整理分享Javascript 构造函数详解(javascript构造函数继承),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript构造函数用哪个属性添加方法,js构造函数写法,javascript构造函数和解构函数的关系,javascript构造函数用哪个属性添加方法,javascript构造函数继承,javascript构造函数继承,javascript构造函数可继承,javascript构造函数,内容如对您有帮助,希望把文章链接给更多的朋友!
一、什么是构造函数
在一些面向对象的语言,如Java、C++、PHP中,构造函数是很常见的。在Javascript中构造函数首先是一个普通的函数,它可以使用new 操作符来调用,并生成一个特殊类型的对象。
在上面这个实例中benjamin是一个Benjamin对象,那么它是如何来实例化的呢?
正如我们所看到的,“Benjamin”构造函数仅仅是接收传递过来的参数,并把它们赋值给this对象。这是因为当构造函数被new操作符调用时,构造函数的this对象赋值为new操作返回的对象。这意味着上面的代码等同于:
二、为什么使用构造函数
为什么使用构造函数,有以下几个方面的原因:1.使用构造函数,意味着所有的这些对象,都可以使用相同的基本结构创建2.使用构造函数,意味着“benjamin”对象被明确的标记为“Benjamin”函数的实例
3.使用构造函数,意味着我们可以在原型上定义公共方法,供多个实例共享
三、注意事项
1.new 关键字在实例化构造函数的时候一定不要忘了使用new关键字,是否使用new关键字,对this对象的影响很大,不用new关键字的情况下,this对象会指向全局对象(window in browser and global in node)。因此定义构造函数时,建议函数名称首字母大写。2.如果被调用的函数没有显式的 return 表达式,则隐式的会返回 this 对象 ? 也就是新创建的对象,否则将会影响返回的结果,但仅限于返回的是一个对象
我们需要注意的是:a) new Bar() 返回的是新创建的对象,而不是数字的字面值 2。 因此 new Bar().constructor === Bar,但是如果返回的是数字对象,结果就不同了;b) 这里得到的 new Test()是函数返回的对象,而不是通过new关键字新创建的对象,如下所示:
标签: javascript构造函数继承
本文链接地址:https://www.jiuchutong.com/biancheng/385646.html 转载请保留说明!友情链接: 武汉网站建设