淘先锋技术网

首页 1 2 3 4 5 6 7

a的代码(行内js写法)如下:

var s = '<a class = "view"  href="javascript:void(0);" target="_blank" rel="external nofollow"  onmouseover="show_pic(\''+value+ '\')"><img style="height:30px;"  src="'+value+'" /></a>';

写法1:

function show_pic(value){
    alert(value);
};

因为我的js代码写在<body>中,我以为是不放在<head>引起的,把代码cut到<head>中,还是报错。


写法2:

var show_pic = function(value){
    alert(value);
}

这个写法还是报错。


写法3:

show_pic = function(value){
    alert(value);
}

-----成功。

 

为什么不给函数赋值的变量添加var关键字,就可以有效果呢?

因为如果不添加var关键字的话,默认就是windows对象作为他的作用域,所以才能调用。

方法来源(感谢):

https://blog.csdn.net/ywl570717586/article/details/53130863