javascript - 如何在数组循环中访问原型函数
问题描述
我有以下对象结构(只是一个示例对象):
var Sample = function Sample (name)
{ this.init(name); };
Sample.prototype.init = function (name)
{ this.name_ = name; }
Sample.prototype.getName = function ()
{ return 'The name is '+this.name_; }
var obj = new Sample();
console.log ( obj.getName() );
当我做类似上面的事情时,它运行良好并在控制台中打印,因为它必须是。但是当我有一个数组集合时,我无法访问该getName()
函数。举个例子:
var biblio = [];
biblio.push(new Sample('A'));
biblio.push(new Sample('B'));
biblio.push(new Sample('C'));
biblio.push(new Sample('D'));
for ( var i = 0; i < biblio.lenght; i++ )
{ console.log ( biblio[i].getName() ); }
对于上述情况,我总是得到undefined
. 但是在for
usign之外,类似的东西biblio[0].getName()
效果很好。
如何在 for 循环中访问对象的函数?
解决方案
只要纠正这一点biblio.length
,它就会根据你的工作!
var Sample = function Sample (name)
{ this.init(name); };
Sample.prototype.init = function (name)
{ this.name_ = name; }
Sample.prototype.getName = function ()
{ return 'The name is '+this.name_; }
var obj = new Sample();
console.log ( obj.getName() );
var biblio = [];
biblio.push(new Sample('A'));
biblio.push(new Sample('B'));
biblio.push(new Sample('C'));
biblio.push(new Sample('D'));
for ( var i = 0; i < biblio.length; i++ )
{ console.log ( biblio[i].getName() ); }
推荐阅读
- google-cloud-platform - 访问/管理地图自动完成等 API 服务需要哪些 GCP IAM 权限?
- selenium - 发送每个键的速度较慢,因为文本框无法快速处理发送键
- c# - HangFire 在给定时间 3 次重复作业
- security - 如果 .EXE 文件以不同的格式保存为 .pdf 或 .csv,是否可以自行执行?
- c# - 将项目从 .Net 4.6.1 升级到 4.7.x 会导致 WCF Reference.cs 中出现错误
- c# - 面板尺寸在程序上和设计上不同
- java - 如何在几个间隔后删除 Firebase 的最后一个条目?
- spring-data-redis - 带有 redis 主/从配置的春季会议 - 最终一致性问题
- php - PHP:无效文件
- google-analytics - 仅在网站的一页上应用 Google 跟踪代码管理器