如何在eval()范围内访问javascript函数

雷达下方

eval()用来执行由服务器发出的ajax请求返回的javascript。但是,我无法调用使用eval()创建的函数并得到了一个ReferenceError: function is not defined

用eval()执行的javascript内部函数无法访问是否正常?有没有办法使用这些功能?

我认为这个简单的jsFiddle可以说明问题:http : //jsfiddle.net/M2GLs/

彼得·范德沃尔

创建的函数不在正确的范围内。因此,您的onclick无法“看到”它。使用

window.addFeatureToTable = function() { 
    // definition
}

强制其进入窗口范围。

工作中的JsFiddle

要在评论中回答您的问题:

您实际上拥有的是类似于以下代码的内容:

function a()
{
    function b(where) {
        alert('b can be called inside a, but not outside, we are now ' + where);
    }
    b('inside');
}

a();
b('outside');

b在的范围内定义a,并且只能在此范围内(demo访问在您的情况下,功能定义在一个eval之内,但是同样的规则也适用于eval。在这种情况下,范围为function(r)您无法从中访问此函数的作用域a.onclick,因此必须更改函数定义。另外,您也可以在eval(jsFiddle之后绑定单击,因为它仍然在作用域内:

js = "function someFunction() { alert('function called') }"
eval(js)
document.getElementById('myA').onclick = someFunction;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:如何在函数的本地范围内运行eval()

来自分类Dev

如何在类范围内访问“自我”?

来自分类Dev

如何在局部范围内访问全局变量?

来自分类Dev

如何在根范围内访问解决日期

来自分类Dev

如何在浏览器范围内声明函数?

来自分类Dev

如何在范围内使用异步函数返回

来自分类Dev

如何在相同范围内的函数之间传递值

来自分类Dev

函数范围内的JavaScript函数var

来自分类Dev

$(this)如何在全球范围内可用

来自分类Dev

如何在范围内添加日期

来自分类Dev

在Python中定义函数后,如何在函数范围内更改变量?

来自分类Dev

如何在JavaScript中的eval函数内添加单引号?

来自分类Dev

如何在更少的范围内访问另一个作用域中定义的变量?

来自分类Dev

如何在指令的隔离范围内访问全局角度对象?

来自分类Dev

如何在Oracle RPD中的给定主题范围内限制对特定演示文稿表的访问?

来自分类Dev

如何使用javascript访问保存在请求范围内的数组或列表?

来自分类Dev

如何在小函数范围内避免小ArrayBuffer中的OutOfMemoryError?

来自分类Dev

重写onDataChange函数时如何在外部范围内进行更改

来自分类Dev

如何在VBA中使用.Find()函数在范围内计数

来自分类Dev

如何在使用 angularJS 的范围内使用带有方程的多个函数?

来自分类Dev

如何使用JavaScript中的此函数求和范围内的所有数字?

来自分类Dev

如何访问__main__范围内的全局变量?

来自分类Dev

如何访问__main__范围内的全局变量?

来自分类Dev

如何访问在struct / class范围内声明的别名?

来自分类Dev

如何在Windows范围内的系统范围内指定Maven命令行参数?

来自分类Dev

如何在javascript中仅验证5-20范围内的数字?

来自分类Dev

如何在JavaScript中连续检测变量是否在范围内超过2秒

来自分类Dev

如何在javascript中-0.8到0.8范围内随机数?

来自分类Dev

全局范围内的JavaScript函数是否在不同的<script>中?

Related 相关文章

  1. 1

    Python:如何在函数的本地范围内运行eval()

  2. 2

    如何在类范围内访问“自我”?

  3. 3

    如何在局部范围内访问全局变量?

  4. 4

    如何在根范围内访问解决日期

  5. 5

    如何在浏览器范围内声明函数?

  6. 6

    如何在范围内使用异步函数返回

  7. 7

    如何在相同范围内的函数之间传递值

  8. 8

    函数范围内的JavaScript函数var

  9. 9

    $(this)如何在全球范围内可用

  10. 10

    如何在范围内添加日期

  11. 11

    在Python中定义函数后,如何在函数范围内更改变量?

  12. 12

    如何在JavaScript中的eval函数内添加单引号?

  13. 13

    如何在更少的范围内访问另一个作用域中定义的变量?

  14. 14

    如何在指令的隔离范围内访问全局角度对象?

  15. 15

    如何在Oracle RPD中的给定主题范围内限制对特定演示文稿表的访问?

  16. 16

    如何使用javascript访问保存在请求范围内的数组或列表?

  17. 17

    如何在小函数范围内避免小ArrayBuffer中的OutOfMemoryError?

  18. 18

    重写onDataChange函数时如何在外部范围内进行更改

  19. 19

    如何在VBA中使用.Find()函数在范围内计数

  20. 20

    如何在使用 angularJS 的范围内使用带有方程的多个函数?

  21. 21

    如何使用JavaScript中的此函数求和范围内的所有数字?

  22. 22

    如何访问__main__范围内的全局变量?

  23. 23

    如何访问__main__范围内的全局变量?

  24. 24

    如何访问在struct / class范围内声明的别名?

  25. 25

    如何在Windows范围内的系统范围内指定Maven命令行参数?

  26. 26

    如何在javascript中仅验证5-20范围内的数字?

  27. 27

    如何在JavaScript中连续检测变量是否在范围内超过2秒

  28. 28

    如何在javascript中-0.8到0.8范围内随机数?

  29. 29

    全局范围内的JavaScript函数是否在不同的<script>中?

热门标签

归档