在计算javascript时设置此指针的值

在计算javascript时设置此指针的值,javascript,eval,this,Javascript,Eval,This,我想执行一些javascript,这是我通过AJAX下载的html的一部分。下载后,我调用eval查看所有脚本标记。有没有办法操纵这个指针,让它指向我定义的东西(例如,下载的AJAX blob)。 我之所以需要它,是因为我需要对仅下载的HTML进行一些下载后处理。现在,我通过为AJAX父元素分配一个ID来实现这一点,并让脚本首先对该元素进行查找(getElementById)。只要ID是唯一的,这就可以工作,但在我的例子中很难实施 我当前的代码如下所示: if (element.chil

我想执行一些javascript,这是我通过AJAX下载的html的一部分。下载后,我调用
eval
查看所有脚本标记。有没有办法操纵
这个
指针,让它指向我定义的东西(例如,下载的AJAX blob)。
我之所以需要它,是因为我需要对仅下载的
HTML
进行一些下载后处理。现在,我通过为AJAX父元素分配一个ID来实现这一点,并让脚本首先对该元素进行查找(
getElementById
)。只要ID是唯一的,这就可以工作,但在我的例子中很难实施

我当前的代码如下所示:

    if (element.children[i].tagName=="SCRIPT")
    {
        eval(element.children[i].innerHTML);
    }
我希望
innerHTML
中的
this
指针指向
元素。有人吗?

您可以使用或。请注意,原语(
42
true
“foo”
)将被装箱

if (element.children[i].tagName=="SCRIPT")
{
    eval.call(element, element.children[i].innerHTML);
}

谢谢你的快速回答。我快速查看了
apply
call
,但没有看到如何在我的案例中使用它。我用当前代码扩展了我的问题。您能建议如何更改此代码吗?谢谢!好了,我找到解决办法了!我首先尝试调用
eval.apply(element,element.children[I].innerHTML)
,但这不起作用。现在我将代码更改为
var func=new函数(element.children[I].innerHTML);函数应用(元素)这很好用!这正是我要建议的。不过,看看我对你问题的评论——这一切都很难闻。我不明白你的问题是什么。“在
innerHTML
中的
这个
指针是什么意思?”?你能把一些简化的代码(伪代码)放到你想做的事情(AJAX调用、脚本求值等)上吗?我认为这比长文本段落更有效:)有更多的上下文吗?不确定您为什么需要“this”或“eval”。只是包括标签不起作用?(1)我不明白为什么你需要
eval
任何东西。将ajax的片段附加到DOM中的某个地方,浏览器将为您解决这个问题。(2) 为什么要将
作为对
标记的引用?JS依赖于它吗?整个事情对我来说都很难闻。如果下载包含
元素的AJAX元素,它们不会通过将其分配给现有的
元素来执行。innerHTML
!参见示例和