Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:namefunction不是函数_Javascript_Html - Fatal编程技术网

Javascript TypeError:namefunction不是函数

Javascript TypeError:namefunction不是函数,javascript,html,Javascript,Html,我的代码如下: HTML: 为什么浏览器返回TypeError:test不是一个函数?问题中的代码没有问题,但您提供的函数定义已包装在另一个函数中(该函数在加载时执行) 它们的作用域是其包含函数,因此您无法使用onclick属性(该属性只能接触全局变量)访问它们 相反 document.getElementById('test').addEventListener( "keydown", test ); 例如:可能您的JavaScript高于HTML?该代码不会导致该问

我的代码如下:

HTML:


为什么浏览器返回
TypeError:test不是一个函数

问题中的代码没有问题,但您提供的函数定义已包装在另一个函数中(该函数在加载时执行)

它们的作用域是其包含函数,因此您无法使用
onclick
属性(该属性只能接触全局变量)访问它们

相反

document.getElementById('test').addEventListener(
    "keydown",
    test
    );

例如:

可能您的JavaScript高于HTML?该代码不会导致该问题。您似乎减少了太多的简化测试用例。@BenjaminGruenbaum-它们只是函数定义,这不可能是问题所在。@jsve the same。。。因为提琴被设置为满负荷运行!更改它,使JavaScript出现在头部。多田
function pl(id){
    return id;
}

function test(){
 id = "test";
 alert(pl(id));   
}
document.getElementById('test').addEventListener(
    "keydown",
    test
    );