个人理解:
var page = new Rectangle(8.5, 11);
//构造一个Rectangle赋给page变量(对象)
而compute_area是page的一个属性,这样,this.constructor
就是构造page对象的函数
var page = new Rectangle(8.5, 11);
//构造一个Rectangle赋给page变量(对象)
而compute_area是page的一个属性,这样,this.constructor
就是构造page对象的函数
解决方案 »
- jS(jquery)复选框问题请教
- 怎么让图片出现的方式有点特效,比如像滑动什么的
- 中文/拼音 下拉选择款框
- 发出get或post请求时,form下面哪些类型的节点的值会被包含进去
- setTimeOut函数中所调用的函数的参数为对象类型时,怎么处理
- 百度地图API问题,地图中心点移动了
- javascript来读取INI文件
- 如何判断某一个Frame/IFrame是成功读取页面还是遇到404等错误?
- 送分题:如何获取Iframe包含的网页中某表格对象?立即给分
- 导航条随内容区域的改变而改变
- select 选项上移正确,但是下移动就出错了,问题出在哪里呢?
- 关于javascript 对象的一个简单问题
PROPERTIESconstructor Property
This property returns a reference to the function that created the Date object's prototype.Syntax: object.constructor
{
this.width=a;
this.height=b
}
function compute_area( )
{alert(this.constructor)
alert(this.constructor=="Rectangle")//问题就在这里,这个this.constructor倒底是什么呢。为什么?return this.width * this.height;
}
var page = new Rectangle(8.5, 11); //创建一个Rectangle对象
//给该对象增加一个新方法compute_area,方法中的this指page对象
//所以this.constructor指page的构造函数,即Rectangle
page.area = compute_area;
var a = page.area( ); // a = 8.5*11 = 93.5 //执行page对象的方法,
alert(a)
-------------
应该是
alert(this.constructor==Rectangle)
才对,
this.constructor的类型是function,你和字符串比较当然是false了
表示创建对象的函数。 object.constructor必需的 object是对象或函数的名称。 说明
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。 例如: x = new String("Hi");
if (x.constructor == String)
// 进行处理(条件为真)。
或 function MyFunc {
// 函数体。
}y = new MyFunc;
if (y.constructor == MyFunc)
// 进行处理(条件为真)。