[英]How can I define a function in JavaScript?
How to define a function?如何定义一个函数? I want to define name1 in the FB.api > name: name1, but I got an error in the console
我想在 FB.api > name: name1 中定义 name1,但在控制台中出现错误
Uncaught ReferenceError: name1 is not defined
Here is my JavaScript code:这是我的 JavaScript 代码:
function share(platform) {
var percent = $('.progress .percent').html().replace('%', '');
var names = $('.progress .names').html().toUpperCase().split(' & ');
var name1 = names[0];
var name2 = names[1];
var queryString = encodeURIComponent('name1='+name1+'&name2='+name2+'&percent='+percent+'&text='+text+'&lang='+lang);
// var json = JSON.stringify(queryString);
var share_params = base64_encode(queryString);
var share_url = 'http://example?';
var url = 'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(share_url)+share_params;
if(platform == 'whatsapp') {
var share_title = name1+' + '+name2+' = '+percent+'%! '+window.famobi.__('shareText');
var url = 'whatsapp://send?text='+encodeURIComponent(share_title);
}
window.open(url,'name','height=400,width=600');
return false;
}
and和
function sharefb(countr,share,platform) {
$("div.bs-example").empty();
$("p#share").html('<div class="col-lg-12 text-center"><div class="progress progress-striped active"><div id="statusbar"><div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width:100%;"><span class="sr-only">20% Complete</span></div></div></div></div>');
statusbar();
var formdata = $("input#cache").val();
var formdatav = $("input#cache").val();
if (countr != "") {
var formdata = formdatav.substr(0, formdatav.indexOf((countr + 1) + "."));
if (formdata == "") {
var formdata = $("input#cache").val();
}
}
FB.api('/me/feed', 'post', {
message: formdata,
name: name1,
description: "test des",
caption: "Test app",
link: "https://apps.facebook.com/*****/",
picture: "http://examplepic.png"
}, function(response) {
console.log(response);
if (!response || response.error) {
alert('Error occured');
}
$("p#share").empty();
});
}
Few ways to do this.很少有方法可以做到这一点。 Easiest: stick this before
function share(platform) {
:最简单的:在
function share(platform) {
之前坚持这个:
var name1;
Then change var name1 = names[0];
然后更改
var name1 = names[0];
to到
name1 = names[0];
This defines a global var name1 (first bit) and then makes sure you don't recreate as a local variable (second bit).这定义了一个全局变量 name1(第一位),然后确保您不会重新创建为局部变量(第二位)。
So it becomes:所以就变成了:
var name1;
function share(platform) {
var percent = $('.progress .percent').html().replace('%', '');
var names = $('.progress .names').html().toUpperCase().split(' & ');
name1 = names[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.