繁体   English   中英

当我尝试向函数传递已传递数组的长度时,为什么会出现错误?

[英]Why do I get error when I try to alert the length of the passed array to the function?

当我尝试向函数传递传递的数组的长度时,为什么会出现错误:这是代码:

<div>
    <button onclick = "CreatTable()">click me!</button>
</div>

<script type ="text/javascript">
        var data = ['First Name', 'Last Name', 'Email'];

        function CreatTable(data) {
        alert(data.length);
}
</script>

在这一行:

alert(data.length);

我收到此错误:

TypeError:数据未定义

为什么会出现此错误? 我做错了什么?

您正在将名称data重新绑定到函数参数。 并在没有任何参数的情况下调用它。 确定data未定义。

function CreatTable() { //use scoped variable data.
        alert(data.length);
}
<div>
    <button onclick = "CreatTable()">click me!</button>
</div>

<script type ="text/javascript">
        var data = ['First Name', 'Last Name', 'Email'];

        function CreatTable() {
            alert(data.length);
        }
</script>

要么将data作为CreatTable的参数CreatTable ,要么将其删除,它将引用您定义的data数组。

您正在调用不带参数CreatTable()的函数

而您的函数定义将data作为参数。

因为data是全局变量,所以只需将其从函数定义中删除:

编写function CreatTable() {

代替

function CreatTable(data) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM