javascript - 无法从原型获取更新属性
问题描述
在下面的代码中,我不明白为什么最后一个 console.log 不返回'kj18',尽管 pro-type 在该行之前已更改。
你能给我一个解释吗?
var studentId = 'ab73';
function Student() {
this.studentId = 'b0e1';
}
console.clear()
console.log(new Student().studentId);
Student.prototype.studentId = 'kj18'
Student.prototype.classId = '5e'
console.log(new Student().classId)
console.log(new Student().studentId) // why is not kj18
解决方案
因为function Student()
当您从 Student 创建一个新实例时,会执行中的分配,而这一切都发生在此分配之后:Student.prototype.studentId = 'kj18'
推荐阅读
- c - 函数运行时的非线性行为
- python - 如何在python的输入文件中读取中间有变量输入的路径
- c# - c#取字节数组的最后4个字节反转
- database - 当我使用 SQL LOADER 控制文件读取分隔文件时,它的第一个位置被跳过
- javascript - 动态引用传递给函数的对象
- c# - 在创建列表时调用重载的构造函数
- c++ - 将 find 与 QAssociativeIterable 或 QSequentialIterable 一起使用,同时避免在 Qt5 中复制
- reactjs - 下一个构建命令失败:错误命令失败,退出代码为 1
- android - 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR) librealm-jni.so
- ibm-cloud-infrastructure - 查询以获取服务器列表