为什么在新实例中调用方法
why is method called upon new instance?
当c1.rand
被调用时,我不清楚解释器如何能够访问this.num
,因为构造函数还没有被调用。为了设置this.num
的值,它不应该在rand中调用constructor()
吗?
class C {
constructor() {
this.num = Math.random();
}
rand() {
console.log( "Random: " + this.num );
}
}
var c1 = new C();
c1.rand(); // "Random: 0.4324299..." (any number from 0 to 1)
在创建对象时立即调用构造函数,因此当您调用:
var c1 = new C();
构造函数被调用。构造函数的名称来自于用法,它被立即调用,因为构造了对象。这意味着它初始化变量等——对象的基本内容,在您的例子中是this.num
。是的,它是在声明类时用于对象创建的保留函数。
new
关键字表示"新实例",在创建新实例时,调用构造函数。
当c1。我不清楚翻译是如何访问这个的。Num,因为还没有调用构造函数。
是的,有。您在编写
时调用了构造函数var c1 = new C();
是否只有构造函数称为b/c构造函数是一个特殊关键字?
是的,如果一个class
定义了一个constructor
函数,它将在你用new
关键字调用类时被调用。
constructor
属性也可以通过实例的原型访问。
var c1 = new C();
c1.constructor === C //=> true
相关文章:
- 未捕获错误:无法在初始化之前调用方法;
- 通过ajax从客户端调用C#方法来执行C#方法
- 如何避免在angular上多次调用方法;s ng重复
- React路由器错误-'无法调用方法'getRouteAtDepth'的未定义'
- 从window.onbeforeunload调用方法背后的代码
- 当输入字段为空时,如何在angular中调用方法
- 函数调用方法有什么用
- 多次调用方法后返回相同promise的模式
- 当从Chrome扩展动态注入JS时,从onload()内部调用方法
- 茉莉花 - 未调用方法
- jQuery如何在原型中调用方法
- ng显示“;调用方法“;不起作用
- Odoo销售点如何访问模型并使用JS调用方法
- 从React调用方法.JS州
- TinyMCE验证给出错误:无法调用方法'getContent'的未定义
- 向模板实例变量传递调用方法调用的结果时出现异常
- 如何在对象中调用方法
- 检查对话框是否为 Open 会引发“初始化前无法在对话框上调用方法”错误
- 在输入类型提交按钮上调用 C# 方法
- 通过类选择器单独调用方法