请教有关JS构造函数的相关知识疑难?

不求苟同 不求苟同 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
参考信息:

<script type="text/javascript">
function Rectangle(w,h){
this.width = w;
this.height = h;
}
alert(Rectangle(5,6));//undefined
var rect1 = new Rectangle(3.14,10);
alert(rect1);
alert(rect1.width);//?

alert(width);//?
</script>


以上js代码中共有两个“?”号,表示alert出来的值,它们分别是多少,如果执行一遍当然有结果!!我想知道为什么是这样?它们取值上到底有什么区别之处?






附:感谢各位大神参与回答,谢谢
...全文

相关推荐

Javascript 构造函数详解

Javascript构造函数是非常强大的,它可能也是Javascript能被充分利用的特点之一。但是如果你想真正的了解Javascript,你还是应该明白构造函数是如何工作的。本文,我们将从三个方面来讲述构造函数。

weixin_38741996

JS函数相关知识代码

文档关于JS函数相关代码,有js基本函数定义、js作用域、js匿名函数、js箭头、js工厂函数、js构造函数等32个代码文件

爱吃糖的小明

JS中的构造函数详细解析

在JavaScript中,任何合法的函数都可以作为对象的构造函数,这既包括系统内置函数,也包括用户自己定义的函数。一旦函数被作为构造函数执行,它内部的this属性将引用函数本身。 通常来说,构造函数没有返回值,它们只是初始化由this指针传递进来的对象,并且什么也不返回。如果一个函数有返回值,被返回的对象就成了new表达式的值。从形式上看,一个函数被作为构造函数还是普通函数执行的唯一区别,是否用new运算符。上面的描述事实上有着更为精确的含义,这要把函数如果有返回值的情况分为函数的返回值是引用类型和值类型两种情况。如果一个函数的返回值是引用类型(数组,对象或者函数)的数据,那么这个函数作为构造

weixin_38701683

js核心基础之构造函数constructor用法实例分析

本文实例讲述了js核心基础之构造函数constructor用法。分享给大家供大家参考,具体如下: 在js中,可以利用构造函数来创建特定类型的对象,其中,有一些原生的构造函数,Object、Array、等等,所以,当type of Object时,返回的是function。此外,我们还可以创建自定义的构造函数,从而自定义对象的属性以及方法。 例如: function Person(name,age,job) { this.name=name; this.age=age; this.job=job; this.sayName=function () { alert(thi

weixin_38673738

Javascript的构造函数和constructor属性

例如,在Chrome下调试如下程序,很清楚的展示了这点:   然而事情并不是这么简单。再看下面的代码: 很显然,这个时候obj的constructor已经不再是创建它的函数,注意到obj.name也是undefined,因此修改构造函数的prototype的contructor并不会影响构造函数所产生的对象。真正的原因是:一个对象的constructor是它的构造函数的prototype.constructor,而每一个函数都有一个prototype,默认情况下,这个prototype有一个constructor属性,指向的是它自己。 我觉得Javascript的设计本意是让每个对象的con

weixin_38695452
评论 5
收藏 已收藏
分享
返回顶部
不求苟同
JavaScript 87,983 成员 224,681 内容