js匿名函數
(function($){})(jquery) == (function($){})(jQuery)
实际上是匿名函数
用于存放开发插件的代码
作用(非常有用):
这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
形成是否函数函数、私有变量的概念。比如:
- var i=3;
- function init(){
- alert("外层init:"+i);
- }
- (function($) {
- var i=2;
- function init(){
- alert("内层init:"+i);
- }
- init();
- })(jQuery);
- init();
执行结果:
内层init:2
外层init:3
以下是一個實驗的例子
<script src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
//(function ($) {
// alert(1);
// $.a = function (i)
// {
// alert(i.name);
// this.shows = function (j)
// {
// alert(j);
// alert(3);
// abc();
// def();
// }
// abc = function ()
// {
// alert(4);
// }
// def = function ()
// {
// i.callBack(666666);
// }
// }
//})($);
//var i = new $.a({
// name:"sdy",
// callBack: function (no)
// {
// alert(no);
// alert(1234);
// }
//});
//i.shows(123);
function MM($) {
alert(2);
$.a = function (i) {
alert(i.name);
this.shows = function (j) {//this為必須寫的
alert(j);
alert(1);
cc();
}
aa = function () {
alert("aa");
}
bb = function () {
alert("bb");
}
cc = function ()
{
i.callBank("回調函數");//回調函數 callBack 寫錯也沒事 哈哈哈哈
}
}
};
MM(jQuery);
var abc = new $.a({
name: "sdy", callBank: function (no)
{
alert(no);
}
});
abc.shows(1);
//(function ($) {
// alert(1);
// alert($);
//})(jQuery);
//function MM($) {
// alert(2);
//}
//MM(jQuery)
// (function(str){alert(str)})("aaa");
////相当于:
//function OutPutFun(str) { alert(str); };
//OutPutFun("output");
js匿名函數的更多相关文章
- js正則函數 match、exec、test、search、replace、split 使用介紹集合
match 方法 使用正則表達式模式對字元串執行查找,並將包含查找的結果作為數組返回. stringObj.match(rgExp) 參數 stringObj 必選項.對其進行查找的 String 對 ...
- js函數
函數是什麼?函數就是被事件驅動或者調用執行的可重複的代碼塊. 函數聲明: 使用關鍵詞function,關鍵詞function大小敏感. function a{代碼塊} 局部變量: 在函數內部聲明的變量 ...
- oracle decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數
oracle decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數
- JS匿名函数的理解
js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的 ...
- Math.Round函數
Math.Round這個函數的解釋是將值按指定的小數位數舍入,但並不就是四捨五入.這種舍入有時稱為就近舍入或四舍六入五成雙 其實在 VB, VBScript, C#, J#, T-SQL 中 Roun ...
- JS匿名函数自执行函数
JS匿名函数自执行函数:(function(){})();(function(){}) 这是一个函数,函数后面接(),则是调用函数 比如(function(arg){console.log(arg); ...
- C#判断奇偶数的函數
// 现代流行的"程序员" public static bool IsOdd(int n) { while (true) { switch (n) { : return true; ...
- PHP 計算字符串長度函數
PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數.對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差 ...
- SQL窗体函數一例
需求: MSSQL,列出服務實例中全部數據庫的例如以下信息: 數據庫ID.數據庫名.創建日期.數據文件類型.數據文件大小.數據庫總大小.文件所在路徑. 寫法(後面的百分比為所花時間占比): -- 连接 ...
随机推荐
- .Net鼠标随动窗口
就像QQ宠物或者迅雷悬浮窗口一样,鼠标点下去窗体跟着鼠标动 主要是两个时间的加载 MouseDown和MouseMove事件 MouseDown事件: private int _StartX ;//鼠 ...
- Java IO流整理Rick
Java 流IO部分: Console 控制台信息读取// ----------- Console Begin // ------------ 部分代码 Console cons ; char[] ...
- img 图片高度设置为百分比无效的解答
当用百分比作为宽高时 因为百分比是相对于其最近的父元素的宽高,所以首先其父元素要有宽高,宽度一般不设置会有默认值(比如整个屏幕的宽度),但是高度不设置就没有默认值,因此如果父元素没设高度值,而其内部 ...
- FreeSWITCH的TLS加密
听着很高大上(实际也很实用)的加密机制,在FreeSWITCH里配置支持竟然这么简单! Greate FreeSWITCH and Greate Programmer! ① cd /usr/local ...
- Bug避障算法简介
移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.避障是指移动机器人根据采集的障碍物的状态信息,在行走过程中通过传感器感知到妨碍其通行的静态和动态物体时,按照一定的方 ...
- ARM家族大检阅
首先列举下几个名称: 6410 2440 210 A8 ARM9 ARM11 ARMv7 ARMv6 进行分类: 1.芯片名称: 2440 6410 210 2.ARM核: A8 ARM9 ARM11 ...
- hashcat
作者: 官网:https://hashcat.net/oclhashcat/ 功能:hash破解
- git sshkeygen Fingerprint cannot be generated解决方法
ssh-keygen -t rsa -C "xxx@xxx.com" 生成后使用cat或者vim 查看该rsa,然后复制到github的ssh keys中: 提示: ...
- Redis事务的分析及改进
Redis事务的分析及改进 Redis的事务特性 数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性: 不满足原子性和持久性: 原子性 redis事务在执行的中途遇到 ...
- jQuery:show()方法
show()方法是jQuery的方法,功能是显示元素,参数是时间,单位是毫秒,例如: Html: <div class="one" id="one"> ...