Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数传递给javascript中的函数-作为对象非变量接收?_Javascript - Fatal编程技术网

将参数传递给javascript中的函数-作为对象非变量接收?

将参数传递给javascript中的函数-作为对象非变量接收?,javascript,Javascript,喜欢PHP,但对JavaScript非常陌生。我正在学习一个教程,有一件事让我卡住了。 我使用以下命令调用markRead函数: <a href="#" onclick="return false;" onmousedown="markRead(9,notifreq_9)"> 出于某种原因,它将noteid作为变量读取(我可以alert(noteid),它将报告9),但如果我尝试alert(elem),它将返回[对象] 我通过分配elem=notifreq\uuu+noteid作弊

喜欢PHP,但对JavaScript非常陌生。我正在学习一个教程,有一件事让我卡住了。 我使用以下命令调用markRead函数:

<a href="#" onclick="return false;" onmousedown="markRead(9,notifreq_9)">
出于某种原因,它将
noteid
作为变量读取(我可以
alert(noteid)
,它将报告
9
),但如果我尝试
alert(elem)
,它将返回[
对象
]


我通过分配
elem=notifreq\uuu+noteid
作弊,但我很想了解这里发生了什么。。。有人能给我指出正确的方向来理解正在发生的事情吗?

任何不带引号的传递都将被假定为变量,如果您试图传递实际单词,请使用
“markRead(9,'notifreq_9')”
任何不带引号的传递都将被假定为变量,如果您试图传递实际单词,使用
“markRead(9,'notifreq_9')”

因为它没有引号,它被引用为一个对象,返回到某些浏览器时,它会查找具有该名称的变量,如果找不到它,它会查找具有该id的元素

onmousedown="markRead(9,notifreq_9)">
需要

onmousedown="markRead(9,'notifreq_9')">

因为它没有引号,所以它被引用为一个对象,返回到某些浏览器时会查找具有该名称的变量,如果找不到,则会查找具有该id的元素

onmousedown="markRead(9,notifreq_9)">
需要

onmousedown="markRead(9,'notifreq_9')">

你需要使用引号

如果不使用引号,javascript将把它作为一个对象,即带有
name
id

所以改变这个

onmousedown="markRead(9,notifreq_9)"
对此

onmousedown="markRead(9,'notifreq_9')"

你需要使用引号

如果不使用引号,javascript将把它作为一个对象,即带有
name
id

所以改变这个

onmousedown="markRead(9,notifreq_9)"
对此

onmousedown="markRead(9,'notifreq_9')"

什么是notifreq_9?这可能是一个对象,其中as 9只是一个整数。notifreq_9应该是一个字符串吗?什么是
notifreq_9
?这可能是一个对象,其中as 9只是一个整数。notifreq_9应该是一个字符串吗?你确定你没有从其他答案复制粘贴这个吗?不,我的互联网太慢了!谁需要复制javascript的基础知识@putvande@putvande这是一个足够简单的答案,类似的答案并不意外。如果我发布了答案,我会使用相同的代码格式并使用
。你确定你没有从其他答案复制粘贴此答案吗?不,我的互联网太慢了!谁需要复制javascript的基础知识@putvande@putvande这是一个足够简单的答案,类似的答案并不意外。如果我发布了答案,我会使用相同的代码格式并使用
。将
放入属性值(至少不转义)现在这样做会导致属性值字符串过早结束,并导致其他问题。这可能需要指出或避免,特别是考虑到OP在JavaScript中的经验水平。@ajp15243--感谢您指出这一点,用单引号修复了它。太棒了!感谢大家。我花了4个小时尝试了不同的方法解决方法…你们在30秒内就得到了。@user2067101确保接受(带绿色复选标记/勾号)最能解决问题的答案,以便将来搜索的人可以看到您的问题得到了回答。将
放入属性值(至少不转义)现在的情况将导致属性值字符串过早结束,并导致其他问题。这可能应该被指出或避免,特别是考虑到OP在JavaScript中表示的经验水平。@ajp15243--感谢您指出,用单引号修复了它。太棒了!谢谢大家。我花了4个小时尝试不同的工作方法。。。你们在30秒内就得到了。@user2067101请确保接受(带有绿色的勾选标记)最能解决你们问题的答案,以便将来搜索的人可以看到你们的问题得到了回答。