javascript - 执行函数时,能为函数中的参数去拼接变量吗?
ringa_lee
ringa_lee 2017-04-10 16:23:43
[JavaScript讨论组]

例如要执行一个函数
func(1, 'http://xxx.com', '3.0.0');

<a onclick="func(1, 'http://xxx.com', '3.0.0)"></a>

如果我要把变量uid拼接到第二个参数后面

<a onclick="func(1, 'http://xxx.com'" + uid + ", '3.0.0)">

貌似会报错,还是需要转义?求解

报错信息:Uncaught SyntaxError: Unexpected token ILLEGAL

ringa_lee
ringa_lee

ringa_lee

全部回复(8)
阿神

如果题主想偷懒的话,可以这样:

<a onclick="eval('func(1, \'http://xxx.com\' + uid, 3.0.0)')">
阿神
<a onclick="func(1, 'http://xxx.com" + uid + "', '3.0.0')">

事件回调函数这样写不好啦~~~~
使用addEventListener方法不好么

PHP中文网

<a onclick="func(1, 'http://xxx.com" + uid + "', '3.0.0')">

这样写不会报错,但是应该会出现解析错误,最后代码并不是这种你想要的结构,

<body><a '3.0.0')"="" "',="" uid="" +="" onclick="func(1, 'http://xxx.com"></a></body>

就这样了。

"func(1, 'http://xxx.com"
uid
"', '3.0.0')"

这是3段,HTML并不认识两个双引号之间出现的 +uid+ 是个什么鬼

如果想在这种结构里传入一个js变量,似乎没有办法 ,我本人没遇到过,暂时也想不出来
如果变量是一个后端语言传进来的,即可以在HTML解析的时候变成一个真正的数值,那这么写没问题。

天蓬老师

并没有什么问题啊。 楼主画蛇添竹了, 一定要主意 HTML 语法的问题。

不要HTML跟Javascript用混了

另外,楼主的报错,是3.0.0后面,少了一个单引号。

PHP中文网

先贴报错信息, 智商过100都知道是我先提醒的题主以后,题主才附上的报错信息,-1之前带上脑子。

PHP中文网

<a onclick="func(1, 'http://xxx.com/" + uid + "', '3.0.0')">

ringa_lee

迷茫

你这个定义在script里面的变量怎么可能在 html里面识别。这种情况请用addEventListener。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号