我能知道:在javascript中做什么吗
这是我试图理解的一行代码我能知道:在javascript中做什么吗,javascript,Javascript,这是我试图理解的一行代码 var UIController = (function(){ var domItems = { questInsertBtn: document.getElementById('question-insert-btn') }; return{ getDomItems: domItems } })(); 上面这一行和我的一样吗 questInsertBtn = document
var UIController = (function(){
var domItems = {
questInsertBtn: document.getElementById('question-insert-btn')
};
return{
getDomItems: domItems
}
})();
上面这一行和我的一样吗
questInsertBtn = document.getElementById('question-insert-btn');
不,它们不一样。在第一种情况下,
questinesertbttn
是对象和document.getElementById('question-insert-btn')的键代码>该键的值。但是独立的
questInsertBtn:document.getElementById('question-insert-btn')代码>没有任何意义
在第二种情况下,questinestbttn
似乎是一个变量&document.getElementById('question-insert-btn')
是分配给该变量的值它们做的事情非常不同
共同点:它们都试图解析表达式document.getElementById('question-insert-btn')
。该表达式请求调用函数document.getElementById
,该表达式解析为调用该函数返回的值
在本例中,使用一个参数调用该函数,即文本字符串'question-insert-btn'
查找(在当前HTML文档中)其id
属性与该参数匹配的HTML元素,并返回该元素。这就是questinestbttn
变量中存储的内容
显示的第一行代码:
questinesertbtn:document.getElementById('question-insert-btn')
很可能不是一个完整的语句,如果您尝试将其作为一个语句,您将得到一个错误
不过,您可能会在语句中看到这样一行。请出示整个声明,以便我们知道该行是什么内容的一部分
第二行:
questinesertbtn=document.getElementById('question-insert-btn')
如果这是一个单独的语句,则构成一个。它将=
后面右侧表达式中的值赋给名为questinesertbttn
的变量。请参见上文,了解该表达式的解析方式。我将尽我所能解释您的代码。
首先,您有一个变量(UIController
),它将存储函数返回的值:
var UIController = (function()
{
...
})();
其次,自调用
函数的返回值将是一个具有唯一的键
的对象,该键名为getdominems
和一些值。某个值将是一个对象,由名为questinestbttn
的键
和他的值组成,实际上是方法getElementById('question-insert-btn')的结果。
:
在sumary中,代码所做的只是使用具有此结构的对象初始化变量UIController
:
var UIController = {
"getDomItems": {
"questInsertBtn": value
}
}
其中value
是函数getElementById('question-insert-btn')
的结果。您可以在下一个示例中自己检查,也许从console.log()
进行调试比我的解释更有帮助:
var UIController=(函数()
{
var-dominems={questinesertbttn:document.getElementById('question-insert-btn')};
console.log(“域名:”,域名);
返回{getDomItems:domItems};
})();
控制台日志(“UIController:,UIController)代码>
第一行代码本身没有意义。第一行是在对象中设置键值对关系,而第二行只是将变量quesInsertBtn
设置为等于element可能是您的第一行代码是三元运算符的示例。请围绕第一行代码发布更多上下文,以便我们了解其中的情况。
var UIController = {
"getDomItems": {
"questInsertBtn": value
}
}