javascript 双引号 和单引号

varuserName;functiongreetUser(){alert('Hello,Iamyourpetrock.');}functiontouchRock(){i... var userName;

function greetUser() {
alert('Hello, I am your pet rock.');
}

function touchRock() {
if (userName) {
alert("I like the attention, " + userName + ". Thank you.");
}
else {
userName = prompt("What is your name?", "Enter your name here.");
if (userName)
alert("It is good to meet you, " + userName + ".");
}
//问题在地下两字,为什么 最下面的'rockImg'换成"rockImg"程序会无效?
document.getElementById("rockImg").src = "rock_happy.png";
setTimeout("document.getElementById('rockImg').src = 'rock.png';", 5 * 60 * 1000);//这个
展开
 我来答
滨海渔村之梦
2014-01-27 · TA获得超过409个赞
知道小有建树答主
回答量:182
采纳率:50%
帮助的人:119万
展开全部

有效:

setTimeout("document.getElementById('rockImg').src = 'rock.png';", 5 * 60 * 1000);

无效:

setTimeout("document.getElementById("rockImg").src = 'rock.png';", 5 * 60 * 1000);



为什么呢?

因为关于函数”setTimeout“正确的语法是:

setTimeout("js_string", INT(毫秒));

其中js_string是一个字符串,在你的例子里面,是document.getElementById('rockImg').src = 'rock.png';

它是被双引号包起来的,中间不能出现双引号,除非你对多出来的双引号进行转义。



啥叫转义?

var str = "Hello, I love 'China' very much.";
var str = "Hello, I love \"China\" very much.";
var str = 'Hello, I love "China" very much.';
var str = 'Hello, I love \'China\' very much.';

都是有效地,其中使用了转义的有第2、4行。

明白了吗?

qq1111qq111111
2014-01-28 · TA获得超过1175个赞
知道小有建树答主
回答量:1166
采纳率:66%
帮助的人:614万
展开全部
到id那里如果用双引号的话需要转义字符转译一下'\'
setTimeout("document.getElementById(\"rockImg\").src = 'rock.png';", 5 * 60 * 1000);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnnbwhq1972
2014-01-27 · TA获得超过3843个赞
知道小有建树答主
回答量:488
采纳率:83%
帮助的人:242万
展开全部
规则:单引号内用双引号,双引号内用单引号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式