如何创建随机方法名称

Rus*_*rry 1 javascript json jsonp unobtrusive-javascript javascript-events

我计划使用JSONP调用外部Web服务来解决这个事实,即我不想创建一个可能与调用页面冲突的全局函数.我认为创建一个随机函数名称并将其传递起来会起作用.像这样的东西:

<script src="www.foo.com/b?cb=d357534">
Run Code Online (Sandbox Code Playgroud)

其中cb是回调函数名称,服务器将返回

d357534({my json data});
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何创建随机函数名称,我确定我可以使用,eval但这是最好的方法吗?

基本上,我想要做的是这样的:

var d + Math.floor(Math.random()*1000001) = function(){...   
Run Code Online (Sandbox Code Playgroud)

Bri*_*ell 8

这应该做你想要的.您需要在某处保存函数名称,以便将其传递给服务器,但是您可以在本地范围内执行此操作,以避免污染全局命名空间.

var functionName = 'd' + Math.floor(Math.random()*1000001);
window[functionName] = function() { ... }
Run Code Online (Sandbox Code Playgroud)