在调用依赖于它的方法时设置 javascript 对象属性
Set a javascript object property while calling a method that relies on it
这是我试图做的一个非常蹩脚的例子。 这段代码有效。
var Love = {
name: 'Johnny',
kiss: function (girl){
alert(this.name + " kissed " + girl );
}
};
Love.name = "Chris";
Love.kiss("Becky");
我首先重新分配了 name 的属性,然后调用了发送参数的方法
我真正想做的是在调用方法时使用 JSON 设置"name"属性。 我发誓我在某处看到过它,但我无法弄清楚。 所以理想情况下,它看起来像这样。
Love.kiss({
name: 'Chris'},
"Becky");
甚至类似的东西。
var Love = {
Guy: 'Johnny',
Girl: 'Mallory',
kiss: function (){
alert(this.Guy + " kissed " + this.girl);
}
};
Love.kiss({
Guy: 'Chris',
Girl; 'Becky'});
同样,我知道这是一个非常愚蠢的例子,但是这个概念有一个我想使用的特定应用程序。
只需运行作为参数传入的对象的键并将它们分配给this
:
var Love = {
Guy: 'Johnny',
Girl: 'Mallory',
kiss: function(opts) {
for (var k in opts) {
this[k] = opts[k];
}
alert(this.Guy + " kissed " + this.Girl);
}
};
Love.kiss({
Guy: 'Chris',
Girl: 'Becky'
}); // -> alert('Chris kissed Becky')
查看演示
无论如何,
您都想将对象文字(不是 JSON!)传递给函数,那么为什么不直接使用它呢?
function kiss(obj) {
alert(obj.Guy + " kissed " + obj.Girl);
}
kiss({
Guy: 'Chris',
Girl: 'Becky'
});
为什么还要使用 Love
对象?
var Love = {
Guy: 'Johnny',
Girl: 'Mallory',
kiss: function( data ) {
this.Guy = data.Guy;
this.Girl = data.Girl;
alert(this.Guy + " kissed " + this.Girl);
}
};
Love.kiss({
Guy: 'Chris',
Girl: 'Becky'
});
这是您要实现的目标吗?
var Love = {
Guy: 'Johnny',
Girl: 'Mallory',
kiss: function (obj){
// if you want default values you can use ||
this.Guy = obj.Guy || this.Guy;
this.Girl = obj.Girl || this.Girl;
alert(this.Guy + " kissed " + this.Girl);
// or change the code above to the following if you don't want to store new values
var guy = obj.Guy || this.Guy,
girl = obj.Girl || this.Girl;
alert(guy + " kissed " + girl);
}
};
Love.kiss({
Guy: 'Chris',
Girl: 'Becky'
});
相关文章:
- Gulp设置javascript对象
- 能够在指向本地环境的浏览器中设置JavaScript断点
- 设置javascript函数中文本框的值
- 没有通过ajax调用设置Javascript全局变量
- 设置Javascript倒计时计时器的初始值
- 如果为null,则设置javascript变量的值
- 如何在我用作参数的函数中设置Javascript中的本地变量
- 在 shopify 上设置JavaScript弹出窗口的样式
- 在 for 循环中设置 Javascript 变量
- 设置JavaScript变量以稍后检查定义
- 在Ruby Slim文件中设置Javascript类型
- 设置JavaScript数组
- 设置javascript对象多级属性的简单方法
- 如何正确设置 JavaScript 命名空间和类
- 在代码隐藏中从DataTable设置javascript数组
- 使用Set属性在JSP:UseBean中设置javascript变量值
- 如何设置javascript中引用的文档的URL
- MVC 5视图-设置Javascript变量
- 如何设置javascript闭包的上下文
- 设置javascript文件的版本.Java EE+Tomcat