Javascript 如何根据其他键自动为另一个键赋值';对象中的s值
如何在Javascript中实现以下功能Javascript 如何根据其他键自动为另一个键赋值';对象中的s值,javascript,Javascript,如何在Javascript中实现以下功能 1) var MyObject={ 2) tableView:true, 3) chartView:!(this.tableView) 4) } 第3行的代码不工作。那行怎么了 我基本上想做的是,每当从代码设置tableView时,将“chartView”设置为“tableView”的相反位置。由于您正在创建对象,此不绑定到该对象。此外,由于您希望图表视图始终以与表格视图相反的方式进行计算,即使后者进一步改变,函数也是一种更好的方法: va
1) var MyObject={
2) tableView:true,
3) chartView:!(this.tableView)
4) }
第3行的代码不工作。那行怎么了
我基本上想做的是,每当从代码设置tableView时,将“chartView”设置为“tableView”的相反位置。由于您正在创建对象,
此
不绑定到该对象。此外,由于您希望图表视图
始终以与表格视图
相反的方式进行计算,即使后者进一步改变,函数也是一种更好的方法:
var MyObject = {
tableView: true,
chartView: function() {
return !this.tableView;
}
};
现在您可以执行以下操作:
var chartView = MyObject.chartView(); // false.
MyObject.tableView = false;
chartView = MyObject.chartView(); // true.
不能使用它引用对象文字属性中的对象。您可以在作为该对象的方法的函数中使用此选项:
var MyObject = {
tableView: true,
chartView: function () {
return !this.tableView;
}
}
根据您的要求,这可能也是一个答案
var MyObject = {
view : function(bool){
this.tableView = bool;
this.chartView = !(bool);
}
tableView: true,
chartView: false
}
MyObject.view(false)
console.log(MyObject.tableView); // Outputs false
console.log(MyObject.chartView) // Outputs true
这样,在chartView中,只需调用一个函数,就可以始终使用与tableView相反的函数。哦,是的……我忘记了在函数中使用“This”的概念。谢谢你提醒我。