有人可以向我解释这段代码的作用吗?
dojo[(show ? "remove" : "add") + "Class"](this.listNode, "tweetviewHidden");
这是这个函数值所属的函数:
// Provide the class
dojo.provide("tweetview._ViewMixin");
// Declare the class
dojo.declare("tweetview._ViewMixin", null, {
// Returns this pane's list
getListNode: function() {
return this.getElements("tweetviewList",this.domNode)[0];
},
// Updates the list widget's state
showListNode: function(show) {
dojo[(show ? "remove" : "add") + "Class"](this.listNode, "tweetviewHidden");
},
// Pushes data into a template - primitive
substitute: function(template,obj) {
return template.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g, function(match,key){
return obj[key];
});
},
// Get elements by CSS class name
getElements: function(cssClass,rootNode) {
return (rootNode || dojo.body()).getElementsByClassName(cssClass);
}
});
来源:http://dojotoolkit.org/documentation/tutorials/1.6/mobile/tweetview/starting_tweetview
最佳答案
很简单,如果 show 为真,它将调用 dojo.removeClass(this.listNode, "tweetviewHidden");
如果为假,它将调用 dojo.addClass(this .listNode, "tweetviewHidden");
.
本质上它是一个切换功能。
[ ] 括号打开一个对象以通过键访问值。就像 var bla={"foo":"bar"}; bla["foo"];
。现在,由于它的道场,值是一个函数,它将被执行
关于javascript代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6528950/