Javascript中的语法错误?(正在尝试动态加载facebook javascript sdk)

Javascript中的语法错误?(正在尝试动态加载facebook javascript sdk),javascript,jquery,facebook-graph-api,Javascript,Jquery,Facebook Graph Api,下面的代码对我来说似乎有效;我真的有语法错误吗?在控制台中运行此代码: $("body").append($("<script />", { html: " window.fbAsyncInit = function() { "+ " FB.init({"+ " appId : '[valid_id]', // App ID"+ " status : true, // check login status"+ " cooki

下面的代码对我来说似乎有效;我真的有语法错误吗?在控制台中运行此代码:

$("body").append($("<script />", {
  html: "  window.fbAsyncInit = function() { "+
"    FB.init({"+
"      appId      : '[valid_id]', // App ID"+
"      status     : true, // check login status"+
"      cookie     : true, // enable cookies to allow the server to access the session"+
"      xfbml      : true  // parse XFBML"+
"    });"+
"  };"+
"  (function(d){"+
"     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];"+
"     if (d.getElementById(id)) {return;}"+
"     js = d.createElement('script'); js.id = id; js.async = true;"+
"     js.src = 'https://connect.facebook.net/en_US/all.js';"+
"     ref.parentNode.insertBefore(js, ref);"+
"   }(document));"
}));
$(“body”).append($(“”){
html:“window.fbAsyninit=function(){”+
“FB.init({”+
appId:“[有效的\u id],//应用id”+
状态:true,//检查登录状态+
cookie:true,//启用cookie以允许服务器访问会话+
“xfbml:true//parse xfbml”+
"    });"+
"  };"+
“(职能(d){”+
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0]+
“如果(d.getElementById(id)){return;}”+
“js=d.createElement('script');js.id=id;js.async=true;”+
“js.src=”https://connect.facebook.net/en_US/all.js';"+
ref.parentNode.insertBefore(js,ref)+
“}(文件));”
}));
返回:

SyntaxError:输入意外结束


看了一会儿,很明显;-)

所有串接的字符串部分最终都会执行到JavaScript代码的一行,因此您不能在其中使用
//注释
,因为它们会转到何处?没错,这条线的尽头

要么完全去掉注释,要么使用
/*注释*/
语法。

最后,有人注意到了!:-)哦,并且忘记了第三个选项:在包含
//注释的每个字符串的末尾\n放一个换行符也应该有效…