iife 与 document.title 的简单语句行为
iife vs simple statement behavior with document.title
我正在寻找一种使用 javascript 小书签来更改当前页面选项卡标题的方法。
我最初尝试了一个简单的语句,但它实际上将我导航到一个仅包含标题的新页面。然后我找到了相同的代码,但被包裹成一个 iife。
基本上我试图理解这之间的区别:
javascript: document.title="title";
还有这个:
javascript: (function(){document.title="title";})();
谁能解释一下为什么第一个语句从页面导航而第二个 iife 语句实际上更改了标题?
这基本上就是小书签所做的 - 如果 javascript:
后面的表达式解析为 undefined
以外的内容(例如字符串),则当前页面将被替换。因此,运行 任意 Javascript 的一个选择是 运行 一个没有 return 任何东西的 IIFE。更多解释 here.
行为可能因浏览器而异。
另一种选择是使用逗号运算符:
javascript: (document.title = 'www.google.com', undefined)
对于任何不是非常琐碎的代码,您可以考虑使用用户脚本(例如 Tampermonkey)而不是小书签,它可能更易于管理。
我正在寻找一种使用 javascript 小书签来更改当前页面选项卡标题的方法。
我最初尝试了一个简单的语句,但它实际上将我导航到一个仅包含标题的新页面。然后我找到了相同的代码,但被包裹成一个 iife。
基本上我试图理解这之间的区别:
javascript: document.title="title";
还有这个:
javascript: (function(){document.title="title";})();
谁能解释一下为什么第一个语句从页面导航而第二个 iife 语句实际上更改了标题?
这基本上就是小书签所做的 - 如果 javascript:
后面的表达式解析为 undefined
以外的内容(例如字符串),则当前页面将被替换。因此,运行 任意 Javascript 的一个选择是 运行 一个没有 return 任何东西的 IIFE。更多解释 here.
行为可能因浏览器而异。
另一种选择是使用逗号运算符:
javascript: (document.title = 'www.google.com', undefined)
对于任何不是非常琐碎的代码,您可以考虑使用用户脚本(例如 Tampermonkey)而不是小书签,它可能更易于管理。