JavaScript立即执行函数【汇总】
-
油猴和收藏栏常用
-
【基础】不带参数
# 1. 当函数变成立即执行的函数表达式时,表达式中的变量不能从外部访问。
(function () {
var name = "Barry";
})();
// 无法从外部访问变量 name
name // 抛出错误:"Uncaught ReferenceError: name is not defined"
# 2. 将 IIFE 分配给一个变量,不是存储 IIFE 本身,而是存储 IIFE 执行后返回的结果。
var result = (function () {
var name = "Barry";
return name;
})();
// IIFE 执行后返回的结果:
result; // "Barry"
3.【带参数】的立即执行函数【应用】
【getSelection在火狐上textare不支持】
# 调试方法【立即执行用来调试】
# 文本内容
(function (a) { alert(a.value); })(document.activeElement);
(function (a) { alert(a.value.slice(0, a.selectionStart)); })(document.activeElement);
(function (a) { alert(a.value.substring()); })(document.activeElement);
#选中内容
(function (a) { alert(a.value.substring(a.selectionStart, a.selectionEnd)); })(document.activeElement);
# 编辑框插入固定文字【模板】
javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+"%C2%AF\\_(%E3%83%84)_/%C2%AF"+a.value.slice(a.selectionEnd);})(document.activeElement);
# 固定输入文字v1【固定】
javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+
"<div align=\"left\"><img src=\"https://xxx.com\" width=\"50%\"></div>"
+a.value.slice(a.selectionEnd);})(document.activeElement);
# 固定输入文字v2【选中文字添加格式】
javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+
"<div align=\"left\"><img src=\""+a.value.substring(a.selectionStart, a.selectionEnd)+"\" width=\"50%\"></div>"
+a.value.slice(a.selectionEnd);})(document.activeElement);
# 固定输入文字v3【博客园firefox专用】
javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+
"<div align=\"left\"><img src=\""+a.value.substring(a.selectionStart, a.selectionEnd).replace(/\!|\[|\]|\(|\)/g,"")+"\" width=\"50%\"></div>"
+a.value.slice(a.selectionEnd);})(document.activeElement);