该示例用于将变量传递给javascript中的对象的技术的名称是什么
What is the name of the technique the example uses to pass a variable to an object in javascript?
下面的示例使用什么技术将变量传递给javascript中的对象?此外,为什么它不工作("大型"没有按预期输出到控制台日志)?
var thumbnailBlock = new ThumbnailBlock();
thumbnailBlock.thumbnailSize = "large";
function ThumbnailBlock() {
this.thumbnailSize;
console.log("DEBUG");
console.log(this.thumbnailSize);
}
Willem Mulder的回答解释了代码中出现的问题:
没有具体的名称。您只需设置一个对象属性。
"large"不会输出,因为您首先使用ThumbnailBlock构造函数创建对象(该函数记录this.thumbnailSize),然后才将.tumbnailsize设置为";"大";。
您可以将大小作为函数参数传递。
function ThumbnailBlock(size) {
this.thumbnailSize = size;
}
var thumbnailBlock = new ThumbnailBlock("large");
console.log(thumbnailBlock.thumbnailSize);
此外,请查看该页面上的构造函数模式和其他不错的模式。我还推荐免费书籍《EloquentJavaScript》中关于OOP的章节。
没有特定的名称。您只需设置一个对象属性。
"large"不会输出,因为首先使用ThumbnailBlock构造函数创建对象(该函数记录this.thumbnailSize),然后仅将.tumbnailsize设置为"larg"。
已经给出了正确的答案,我只想指出,如果您的对象被密封或冻结,添加动态属性将不起作用。
function ThumbnailBlock(size) {
Object.seal(this);
}
var thumbnailBlock = new ThumbnailBlock("large");
thumbnailBlock.thumbnailSize = 10;
console.log(thumbnailBlock.thumbnailSize); // undefined
在严格模式下,您将引发一个异常。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 该示例用于将变量传递给javascript中的对象的技术的名称是什么
- 如何对对象进行反技术是另一个与拉斐尔JS
- javascript 或 jQuery 是否有任何技术来创建最终用户可以即时收缩或扩展的保存对象
- 创建Undercore中使用的安全参考对象技术
- 如何在一个对象上有效地应用许多不同的规则,以及使用javascript的面向对象技术
- Javascript对象定义技术,优缺点