<html><body><script src="Js/Index.js"></script><script type="text/javascript"> $(function () { index.init(); }) </script></body></html> var index = (function () { //加载页面事件var _initPageEvent = function () {} return {init: function () {_initPageEvent();}}
})();原文:https://www.cnblogs.com/zhangchengye/p/11209045.html
转载原帖址:http://blog.csdn.net/lgg201/article/details/6127564functioncallback($callback) {$callback();
}
//输出: This is a anonymous function./n//这里是直接定义一个匿名函数进行传递, 在以往的版本中, 这是不可用的.//现在, 这种语法非常舒服, 和javascript语法基本一致, 之所以说基本呢, 需要继续向下看//结论: 一个舒服的语法必然会受欢迎的.
callback(function() {print"This is a anonymous function./n";
});
//...
但javascript我是经常要用,所以是要懂这里面的概念。 其实javascript里的闭包概念很简单,就是函数用到外部变量,不需要传参就可以获取。 举个例子: 代码如下: var sMessage = "Hello world"; function sayHello(){ alert(sMessage); } sayHello(); addNumber(1,2); var iBaseNum = 10; function addNumber(iNum1, iNum2) { function doAddition() { alert(iNum1 + iNum2 + iBaseNum); } return doAddition(); } function a(){...
在JS中,你写一个for循环的时候,内部的循环变量I其实是会保存在它运行的函数或类内的,所以你会发现你给元素批量绑定事件的时候,出现i=最后一个循环变量的值,这就很坑爹啊,解决的方案有2钟, 思路就是:把这个循环变量保存起来,不要让它的作用域在整个函数,而是在循环体内 1.使用闭包(如果你不懂闭包,请打开百度:www.baidu.com) 2.使用with关键字,with语法是with( obj ) { //使得可以在此直接访问obj的属性,而不用加obj....
本文实例讲述了jQuery基于闭包实现的显示与隐藏div功能。分享给大家供大家参考,具体如下:
<div class="binds"><div class="phonebind"><h3>手机绑定</h3><p>当前手机号码:<span id="oldPhone">$!{user.phone}</span><input type="button" class="btnInput" id="rebindPhone" value="重新绑定"></p><div class="updatetelwrap hidden"><div class="newphonewrap"><label>新手机号码<em>*</em></label><input type="text" class="...
详解闭包解决jQuery中AJAX的外部变量问题
在AJAX中,我们经常都要使用外部变量,经常会多次使用,如下代码function getCarInfo(){for(var i=0;i<4;i++){var carId = $("#carList0"+i+" #carId").val();var request = { city: city,carId: carId};$.ajax({url:"enquiry",type:post,data:request,//async: false,success:function(data){//alert(data);var strArr = data.split("#");$("#carList0"+i+" #distributorId").val(strArr[...
本文实例讲述了jQuery命名空间与闭包用法。分享给大家供大家参考,具体如下:
/** 服务公司用户汇总,审核*/
(function() {"use strict";var companyList=new Object();//声明命名空间//时间戳格式化为时间
companyList.getLocalTime = function(nS){return new Date(parseInt(nS)).toLocaleString().substr(0,17);
}//节能服务公司用户listvar keywords_pagenumber=1;companyList.getCompanyUser = function(){var url="/ptsp/res...
但javascript我是经常要用,所以是要懂这里面的概念。 其实javascript里的闭包概念很简单,就是函数用到外部变量,不需要传参就可以获取。 举个例子: 代码如下:<script> var sMessage = "Hello world"; function sayHello(){ alert(sMessage); } sayHello(); addNumber(1,2); var iBaseNum = 10; function addNumber(iNum1, iNum2) { function doAddition() { alert(iNum1 + iNum2 + iBaseNum); } return doAddition(); } functi...
我有一个对象列表,每个对象都有一个.bullet,它是一个SPAN.我想将跨度上的单击绑定到处理程序,而不是使用jQuery对跨度执行某个操作.我看到一些我不理解的行为,所以我希望有人可以解释发生了什么.基本上,这个第一个代码示例有效:for (var i = 0 ; i< length ; i++) {(function(){dataNode = dataNodeList[i];var handler = function(e) {e.data.node.bullet.firstChild.nodeValue = "- ";};$(dataNode.bullet).on("click",{node:dat...
这是我的代码示例:var bar = function() {this.baz = function() {this.input = $('.input');this.input.bind("keydown keyup focus blur change", this.foo);}this.foo = function(event){console.log(this);}}显然,单击我的输入可以在控制台中输入输入.我怎么能得到这样的酒吧呢?解决方法:这是因为当您bind事件时,使用触发事件的DOM元素的上下文调用事件处理函数,this关键字表示DOM元素.
要获得“bar”,您应该存储对外部闭包的...
一直试图围绕功能范围包围大脑的Javascript关闭一直在努力,但我认为他们正在缠绕我.我看了很多帖子(Nyman是最有帮助的),但显然仍然没有得到它.试图在jQuery中对悬停方法运行循环.需要悬停功能才能最终触发多个动作,但是很高兴让他们现在可以使用单个图像交换.$(document).ready(function() {imageSource = []; imageSource[0] = 'images/img0.png' //load 0 position with "empty" pngimgArea = [];for (var i=1; i<11; i++) {(fu...
我正在学习javascript,顺便说一句,我正在努力学习更多有关jQuery的知识.我在JS中创建了一个非常简单的“表单控制器”,所以当我创建将表单作为参数传递的对象时,它会将事件连接起来并劫持提交:var FormController = function (form) {// private fieldvar _form = $(form);var _url = _form.attr('action');var _isValid = false;$(form).submit(function (e) {submitForm();e.preventDefault();});var disableAll = function () {...
我不太了解JS闭包,我认为它可以解决我的问题.这里是:
我有类似的东西:$(document).ready(function () {$("#buttonConfirm").click(function () {popup_confirme();});
});
function popup_confirme() {var r = popup_modal();
}
function popup_modal() {var int_val = 0;$(".button").click(function () {int_val = ($(this).val() == 'yes' ? '1' : '0');});return int_val;
}我想通过按钮单击事件返回我的int_val.我需要将’r...
我正试图让“click()”函数在我传入函数时显示“i”的值.但它在完成之后又回到了’i’的价值.我在第一次传递函数时,如何让函数引用’i’的值,这是空白的.for( var i=0; i<10; i++){var ts = $('#<span></span>').clone().click(function(){alert(i);});
}注意:
‘#’不应该存在,’.clone()’也不应该存在解决方法:这样的东西会起作用:for(var i=0; i<10; i++){(function(j) {var ts = $('<span></span>').click(function(){alert...