JavaScript立即执行函数【汇总】

  1. 油猴和收藏栏常用

  2. 【基础】不带参数

# 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);
原文地址:https://www.cnblogs.com/amize/p/15751846.html