javascript函数替换不起作用,为什么
javascript function replace wont work , why?
为什么javascript函数替换不起作用?
social_share: function(e){
var is_video,
social_name = $(e).attr('class'),
share_url = document.URL,
share_title = $('title').text(),
share_media,
share;
switch(social_name) {
case 'twitter':
share = 'https://twitter.com/share?url={share_url}&text={share_title}';
break;
case 'facebook':
share = 'https://www.facebook.com/dialog/feed?app_id=123050457758183&link={share_url}&picture={share_media}&name={share_title}';
break;
case 'google':
share = 'https://plus.google.com/share?url={share_url}';
break;
case 'pinterest':
share = 'https://pinterest.com/pin/create/bookmarklet/?media={share_media}&url={share_url}&is_video={is_video}&description={share_title}';
break;
case 'mailto':
share = '...';
break;
}
share.replace('{share_title}', share_title)
.replace('{share_url}', encodeURI(share_url))
.replace('{share_media}', encodeURI(share_media))
.replace('{is_video}', is_video);
console.log(share);
},
和console.log函数返回字符串share而不进行任何替换。。。它会https://twitter.com/share?url={share_url}&text={share_title}如果是twitter,则相同的其他
.replace
将返回新值,因此需要将其保存到变量:
share = share.replace( ... )
字符串在javascript中是不可变的。因此,通过任何字符串函数更改字符串都将返回一个新字符串作为输出。在上面的代码中,将语法更改为:
share = share.replace('{share_title}', share_title);
相关文章:
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 为什么javascript:void(0)在Firefox中不起作用
- Js.erb VS按钮标记-不'不起作用.为什么?
- 为什么indexOf在这个js代码中不起作用
- 为什么边际:自动;不起作用
- 为什么我的JavaScript堆栈排序函数不起作用
- Don'我不明白为什么我的setInterval+jQuery;不起作用
- 为什么此验证代码不起作用
- 我的jquery代码不起作用.为什么?
- 为什么Telerik cdn在IE中不起作用
- 为什么 AJAX POST 请求不起作用
- 为什么我的While循环不起作用
- I'我不知道为什么我的代码没有'不起作用
- 为什么简单的Promise语句在浏览器中不起作用
- 就地反转数组为什么不起作用
- 为什么不起作用?用鼠标指针推框
- 两个元素的两个标签,具有相同的 id,但形式不同.为什么不起作用
- 获取并评估javascript——为什么不起作用
- 如何通过在javascript代码中添加停止来找出它为什么不起作用
- 我很想知道为什么给出不完整的输出(以及为什么不起作用)