Javascript 如何使用函数参数调用对象方法?

Javascript 如何使用函数参数调用对象方法?,javascript,html,Javascript,Html,所以我问了一个问题之前。。。我想知道如何论证document.element.style.property=value中的css属性。这个解决方案很简单,几乎是有道理的——但很明显,我没有完全理解它,或者我知道为.element尝试相同的解决方案是行不通的 这是我的密码: function appendElement(handle){ element=document[handle]('div'); document.body.appendChild(element); } 通过这种方式

所以我问了一个问题之前。。。我想知道如何论证document.element.style.property=value中的css属性。这个解决方案很简单,几乎是有道理的——但很明显,我没有完全理解它,或者我知道为.element尝试相同的解决方案是行不通的

这是我的密码:

function appendElement(handle){

 element=document[handle]('div');
 document.body.appendChild(element);
}
通过这种方式,我可以选择创建一个新元素,或者根据id、类或索引外观或其他任何内容来移动现有的元素。当然,即使不知道正确的方法,我上面的代码对我来说似乎是错误的,但这是我在没有帮助的情况下所能做的最好的事情

编辑:测试用例

/*核心指令*/ element=document.createElement'div'; document.body.appendChildelement; /*挑剔的版本*/ 函数appendElementhandle{ 元素=文档[句柄]'div'; document.body.appendChildelement; } appendElementcreateElement; element.innerHTML=第三个文本; /*应将“文本”div移到“第三个文本”div下*/ appendElementgetElementById'first'; 文本
第二个文本我不明白你的需要

但是,如果handle等于“createElement”,这是文档的一个属性,则代码将运行。

Edit 在此行中,appendElementgetElementById为'first';您没有按需要传递函数,而是使用参数'first'传递调用未定义的结果,因为它在该上下文中找不到函数或名为getElementById的全局函数,因此它将是未定义的,而且您正在尝试执行未定义的传递字符串。。。这将引发一个错误,在函数存在的情况下,即首先传递document.getElementById,然后传递执行该函数而不是函数的返回值

如果你想传递一个函数,你应该传递一个函数,那就是appendElementdocument.getElementById,不需要用参数调用它,但是我认为你需要传递一个选择器给这个函数来完成你想要做的事情。所以 代码如下所示:

函数appendElementhandle,选择器{ 元素=handle.calldocument,选择器; document.body.appendChildelement; } appendElementdocument.getElementById,“第一个”; 文本
第二个文本根据传递给函数的选择器,您想选择一个现有的元素,或者创建一个新的元素(如果它不存在的话)?我不明白您希望元素在这里是什么。如果它确实是文档的属性,那么您的代码就可以工作了。如果它不是document的属性,那么您的概念性代码document*.element*.style似乎是错误的,即表示与您真正想要的不同。如果handle是一个函数名,它是document的一种方法,那么您做得很好。。。但我不知道句柄是什么,如果它是一个函数,你能把它和解释代码放在一起吗?比如,你可以写document.getElementById或document.createElement。至少这是个想法。@Musixauce3000-它仍然不是很清楚。请尝试创建一个完整的测试用例,并告诉我们函数调用的预期输入和输出应该是什么。我试图避免使用文档。在辩论中,但我认为如果我对这个答案思考足够长的时间,我就会明白为什么这是不可能的。