为对象原型提供一个方法,该方法指向对象自身属性的值
Giving a method to an object prototype that points at the value of that objects own properties
我写了一个小程序,从两个用户输入中获取单词的英文版和西班牙文版,并将它们存储为对象:
function Dictionary(english, foreign){
this.english = english;
this.foreign = foreign;
}
然后将这些对象存储在一个数组中;objectsArray[]。然后,我为"Dictionary"原型分配了一个方法,使输入的字符串变成大写:
Dictionary.prototype.capMethod = function(){
this.english.toUpperCase();
this.foreign.toUpperCase();
}
一旦用户输入了所有的翻译(稍后将对其进行测试),我就尝试调用字典的capMethod:
for(var x in objectsArray){
objectsArray[x].capMethod();
console.log(objectsArray[x].english + objectsArray[x].foreign + typeof objectsArray[x].english); }
然而,控制台并不建议将它们更改为大写。当英语和外国值返回给用户(稍后在程序中)时,这一点得到了证实。
我强调,在程序的其他部分,我可以做出这样的改变,但不理解我在这里的错误似乎是用另一种方式做的一个糟糕的理由。
我确实需要将存储在字典中的字符串大写,并且它周围有很多代码,所以JSfiddle会很麻烦,我希望以上内容就足够了,因为问题似乎真的在于我引用对象值的方式。我也知道引用对象属性有几种微妙的不同方法,但我对javascript很陌生,很难理解
我在这里做错了什么?
在您的函数中
Dictionary.prototype.capMethod = function(){
this.english.toUpperCase();
this.foreign.toUpperCase();
}
没有使用"toUpperCase()"的结果。
this.english = this.english.toUpperCase();
会更好。
像这样存储对象对你有用吗?:
function store(english,foreign){
objectsArray.push({
english:english.toUpperCase(),
foreign:foreign.toUpperCase())
}
相关文章:
- 从 javascript 中的对象方法返回一个对象
- 在Javascript中调用对象方法时不是函数类型错误
- Java Script将对象方法映射到数组中的对象
- 将数据从promise then方法传递到对象方法
- 设置显示后Flash对象方法不可用:无
- 通过引用Javascript中的另一个函数来传递对象方法
- Javascript库对象方法声明
- JavaScript对象范围-在对象方法中使用对象变量
- jQuery:如何使用文字对象方法中的方法来获取全局变量
- Javascript 对象方法不更新变量
- setInterval 只在对象方法上运行一次
- 对象方法中函数中的上下文
- 用JavaScript编写对象方法的最佳方式是什么
- 使用回调处理程序调用函数内部的父对象方法
- 从Javascript中的对象方法中访问全局变量
- 将此(对象)传递到一个对象方法嵌套方法中
- 为什么我得到“;不是函数错误”;对于我的对象方法
- 带有回调的Javascript对象方法中的递归
- 更正Node.js异步管道中的对象方法调用
- 如何在对象方法上调用requestAnimFrame