Uncaught TypeError:无法读取匿名函数上未定义的属性“ apply”

时间:2019-12-08 06:53:10

标签: javascript google-maps

此代码可以正常工作。

google.maps.event.addListener(marker,'click',(function(){
        console.log("test");
    }));

但是我想将变量传递给函数,但是会显示错误。

Uncaught TypeError: Cannot read property 'apply' of undefined

google.maps.event.addListener(marker,'click',(function(show){
        console.log(show);
    })("test"));

哪里出问题了?

1 个答案:

答案 0 :(得分:1)

您正在回调中创建immediate anonymous function。当浏览器遇到以下代码时,立即执行以下代码:

(function(show){
    console.log(show);
})("test")

并返回不是函数的undefined。因此,错误。尝试以下操作:

google.maps.event.addListener(marker,'click',handleClick);

function handleClick(){
    callback('show');
}

function callback(val){
    console.log(val);
}