gpt4 book ai didi

Javascript以某种方式解析函数的字符串参数?

转载 作者:行者123 更新时间:2023-12-02 20:32:54 24 4
gpt4 key购买 nike

当我尝试将字符串传递给这样的函数时

i="file:///bla/bla/bla";
Fade(i);

我得到未捕获的语法错误:意外的标记:

所以我尝试在函数中传递一个文字,例如 f("img1.jpg");我得到了

Uncaught ReferenceError: img1 is not defined
(anonymous function)

这是怎么回事?

(请注意,我是 js 新手)

特别是:

timeout = 3;
var fadetime = 5;
var curr = 0;

var fadedelta = 100/(fadetime*30);
var opac = 100;

//var fadedelta = 100/(fadetime*3);
//prelaod all images just to have them there
var namearr = new Array( "img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg");
var imgarr = new Array();

var i = 0;
for( i = 0; i<2 ; i++)
{
var tmp = new Image()
tmp.src = namearr[i];
imgarr.push(tmp);
}

function setOpacity(image, op)
{
if(typeof(image.filters) != 'undefined' )
{
image.filters.alpha.opacity = op;
}
else
{
image.style.opacity = op/100;
}
}

function fadeIn(isrc)
{
var locimg = document.getElementById("image");
opac -=fadedelta;
setOpacity(locimg,opac);
if(opac>0)
{
setTimeout("fadeIn(String("+isrc+"));", 30);
}
else
{
locimg.src = isrc;
setOpacity(locimg,100);
opac=100;
}
}


function Fade(isrc)
{
var locimg = document.getElementById("image");
var locdiv = document.getElementById("imageArea");

locdiv.style.backgroundImage = "url("+isrc+")";
fadeIn(isrc);
}

function aStatus()
{
var locimg = document.getElementById("image");
var locdiv = document.getElementById("imageArea");

alert("background: "+locdiv.style.backgroundImage+"\nforeground: "+locimg.src+"\ncurr: "+curr);
}

function onClick()
{
curr = curr + 1;
curr%=imgarr.length;
Fade(String(""+imgarr[curr].src));
}

输出是 Uncaught SyntaxError: Unexpected token : 错误,引用最后一行之前的行 (Fade(String(imgarr[curr].src)); )

请注意,imgarr[curr].src 是 file:///home/fakedrake/webdev/img1.jpg 或 file:///home/fakedrake/webdev/img2.jpg,具体取决于 curr 的值

最佳答案

我遇到了一个完全不同的错误,关于在线“参数列表后缺少 )”

fadeIn(file:///some/local/file.jpg);

但是,问题是相同的:解释器认为 fadeIn 获取变量名称(在本例中 file:///some/local/file.jpg ,这不是一个有效的标识符)而不是字符串。

解决办法很简单:添加单引号

setTimeout("fadeIn('"+isrc+"')", 30);
// here ^ ^

关于Javascript以某种方式解析函数的字符串参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3791755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com