在JavaScript书签中定义多个全局函数

时间:2017-10-03 17:01:39

标签: javascript bookmarklet

我正在制作一个需要多种功能的书签。单独地,我可以通过调用以下内容来定义我需要的任何函数:

javascript:void(window.test1=function(){alert('hi');});

但是一旦我尝试添加第二个功能,它就会停止工作。

javascript:void(window.test1=function(){alert('hi');}window.test2=function(){alert('bye');});

运行此操作会在控制台中生成错误,说明"意外的标识符"。我试过用分号,空格和回车符分隔两个函数声明(后两个十六进制编码为%20和%0A),在它们之间插入:

javascript:void(window.test1=function(){alert('hi');};window.test2=function(){alert('bye');});

这也不起作用;它会产生错误消息"意外的令牌"。

如何在书签的上下文中连续定义两个函数?

1 个答案:

答案 0 :(得分:2)

尝试将所有内部函数包装在1个函数中,并在内部函数中将所有需要的函数定义为window对象上的属性/方法,就像在这里一样。

因此:

javascript:void(function(){window.test1=function(){alert('hi');};window.test2=function(){alert('bye');}}());