在jquery插件中我们经常看到以下这段代码 ;(function ( $, window, document, undefined ){ //函数体内具体代码 })(jQuery, window,document); 对于很多初学者来说很难明白这表示什么,我也是初学者,不是很懂,下边为大家介绍其相应的作用. 1.代码最前面的分号,可以防止多个文件压缩合并以为其他文件最后一行语句没加分号,而引起合并后的语法错误. 2.匿名函数(function(){})();由于Javascript执行表达式是…
(function( $, jQuery , undefined ) {})(jQuery); 为什么要将window和undefined作为参数传给它? 因为 ecmascript 执行JS代码是从里到外,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,提高效率.undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined. ; (function( window ) { alert(window.unde…
;(function($,window,document,undefined){})(jQuery,window,doucment) 1.自调函数(function(){})() 2.好处是不会产生任何全局变量,提高性能或者兼容性.缺点是无法重复执行,适合只执行一次性或初始化的任务. 3.“:”分号作用:防止多个文件压缩合并以为其他文件最后一行语句没加分号…
一.首先是最常见的闭包 (Closure) 范式自执行函数的写法,这里用匿名函数封装(构造块级作用域),避免了匿名函数内部的代码与外部之间发生冲突(如使用了相同的变量名). (function() {// ...})(); 二.自执行函数和其他函数类似,都可以传入参数:jQuery源码中将window作为一个参数传入, window是DOM对象模型的最顶层对象,把全局变量传进来,就避免了到外层去寻找,提高效率: (function(window) {// ...})(window); 当然你也可…
1.代码最前面的分号,可以防止多个文件压缩合并以为其他文件最后一行语句没加分号,而引起合并后语法错误. 2.匿名函数(function(){})();:由于Javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数.避免函数体内和外部的变量冲突. 3.$实参:$是jquery的简写,很多方法和类库也使用$,这里$接受jQuery对象,也是为了避免$变量冲突,保证插件可以正常运行. 4.window, document实参分别接受window, document对象,w…
(function( window, undefined ) {})(window);这个,为什么要将window和undefined作为参数传给它? (function( $, undefined ) {})(jQuery); 同理 因为 ecmascript 执行JS代码是从里到外,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,提高效率.undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined. 还…
JS 关于(function( window, undefined ) {})(window)写法的理解 [网络整理] (function( window, undefined ) {})(window); 这个,为什么要将window和undefined作为参数传给它? (function( $, undefined ) {})(jQuery); 同理 因为 ecmascript 执行JS代码是从里到外,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,提高效率.und…
有的时候,我们会在JS框架中看到这行 (function(window, undefined) {})(window) ,它是做什么用的,我们来分析下它 首先这就是一个匿名函数,立即执行它 (function(window, undefined) { // coding })(window) 为这么要这样写,有什么作用 对js进行压缩的时候 均可以替换成其他简写字符,从而减少文件大小,因为他们被视为局部变量使用. (function(w, u) { // coding })(w) window:…
读 jQuery 1.4.4 版本代码的时候,发现下面的写法: (function( window, undefined ) { ... // code goes here })(window); window 肯定是没问题, 表示 BOM 浏览器对象模型中的 window 对象.但是这里为什么会有一个名为 undefined 的形参呢?起初的时候很不理解.去技术群请教了一下,才真正理解了这里的原因. 原来,Javascript 中的 undefined 并不是作为关键字(全部Javascrip…
今天在读 jQuery 源码的时候,发现下面的写法: (function(window,undefined){ ...// code goes here })(window); window 作为参数传递肯定是没问题, 表示 BOM 浏览器对象模型中的 window 对象.但是这里为什么会有一个名为 undefined 的形参呢?起初的时候很不理解.去技术群请教了一下,才真正理解了这里的原因. 原来,Javascript 中的 undefined 并不是作为关键字(全部Javascript关键字…
最常见的闭包 (Closure) 范式大家都很熟悉了: 123 (function() {// ...})(); 很简单,大家都在用.但是,我们需要了解更多.首先,闭包是一个匿名函数 (Anonymous function), 即是 (function() {}) 这部分.之所以要给 function 添加括弧是为了让它形成一个表达式 (expression), 有了表达式,并且确定它的类型是个函数 (Function 实例), 就可以直接调用它.所以,后面的一对括弧是可以工作的,它的意义是:我…
jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用…
将函数包在红色字体内部,可以解决$符号与其他插件的冲突. <script type="text/javascript"> (function($, window, document) { //$(document).ready(function(){ var param_cats = $("input[name='category[]']:checked").val(); if(param_cats == null || param_cats == ''…
var num = 10000 for (var i = 0; i++; i < num) { eval("pp" + i + "=" + i); } (function(window, undefined){ var a1 = new Date(); for (var i = 0; i < num; i++) { document.write(window["pp" + i]); } var a2 = new Date(); ale…
引言: 估计很多同志们在编写浏览器resize()的方法时,都会遇到这样的情况: 当拖动浏览器的边角时,页面中的一些效果随浏览器大小的改变而触发,这一过程开始到结束,resize() 中的方法被执行了多少次? jquery $(window).resize() 和 javascript window.onresize 有什么区别? 当我们双击浏览器的标题工具栏时,窗口一下子变大或者变小时,resize() 或 window.onresize 中的方法被执行了多少次? 当我们不希望 resize(…
在编写前端页面的时候,我们时常需要对页面加载的状态进行判断,以便进行相应的操作. 比如在移动端,时常需要在页面完全加载完成之前,先显示一个loading的图标,等待页面完成加载完成后,才显示出真正要展现的页面元素.见代码1: <html> <head> <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script> <script> function isL…
1. 对于function前面的分号(;)的使用:使用分号的目的是为了防止多个文件压缩合并时,以为其他文件最后一行语句没加分号,而引起合并后的语法错误. 2. (function ($, undefined){ })(jQuery)这是一个匿名的函数,一般js库都采用这种自执行的匿名函数来保护内部变量. 3.使用undefined的原因: (1)因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined做比较的话,程序就可以不用搜索undefined…
今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如…
这篇文章主要介绍了jQuery插件开发详细教程,将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱,需要的朋友可以参考下 扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 一.入门 编写一个jQuery插件开始于给jQuery.fn加入​​新的功能属性,此处添加的对象属性的名称就是你插件的名称: 复制代码代码如下: jQuery.fn.myPlugin = function(){ //你自己的插件代…
window.showModalDialog 有些浏览器不兼容,尝试用window.open() 封装替代,需要打开子窗口后向父窗口传递数据. <html> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <head></head> <title>Test dialog</title>…
原文地址: $(document).ready vs $(window).load vs window.onload $(document).ready We execute our code when DOM is ready except images. //call type 1 $(document).ready(function() { /** work when all HTML loaded except images and DOM is ready **/ // your co…
有这样一个需求,弹出一个新窗口 并从该新页面的select选择框中选择需要的类别,再返回到之前的父窗口页面的某个文本框中.这里就要用到window.parent和window.opener 如题两种方法都是javascript调用父窗口的方法. 1.window.parent是iframe页面调用父窗口对象 比如:parent.jsp 里面有一个文本框 <input id="username" value=""> <iframe scrolling…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>使用window.localStorage,window.localStorage记录点击次数</title> </head> <body> <button onclick="bc()">点击</…
错误写法 , 主要是在 href="#"这里 <a href="#" id="send" onclick="return buttonClick();">发送</a> 脚本如下 if (data == "发送成功") { alert(data); window.location.href = window.location.href; } 正确的写法  href 后面跟一个 java…
window.parent针对iframe,window.opener针对window.open 父页面parent.jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E…
window.location和window.open的区别 window.location = "http://www.baidu.com" 跳转后有后退功能 window.location.replace("http://www.baidu.com") 跳转后没有后退功能 window.open("http://www.baidu.com") 要新的窗口打开链接…
一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { var IsIE = (navigator.appName == 'Microsoft Internet Explorer') if(IsIE) {//如果是IE alert(document.frames(ObjectID).document.getElementById(ContentID).i…
★  window.onload  当页面加载完毕的时候执行,即在当前页面进行其他操作之前执行.如,刚进入某个网页的弹窗提示. (  与window.onload相近的可以参考我写的另外一篇记录"比较body.onload(function()).$(document).ready(function())与$(windows).load(function)"  ) ★  window.onbeforeunload 与 window.onunload 的比较 window.onbefor…
来自CSDN的问答: window.opener是什么啊? ++++++++++++++++++++++++++++++++++++++++++++++++++ 弹出本窗体的句柄 比如你想点一个按钮直接把该窗体关闭,但又不想弹出提示确认,问你是否要关闭. 可以如下写:window.opener=null;windows.close(); ++++++++++++++++++++++++++++++++++++++++++++++++++ 是在子网页中表示父网页.. 如由a网页打开b网页,则在b中…
今天总结一下js中几个对象的区别和用法: 1.首先来说说 parent.window与top.window的用法 "window.location.href","location.href" 是本页面跳转 "parent.location.href" 是上一层页面跳转 "top.location.href" 是最外层的页面跳转 举例说明: 如果A,B,C,D都是窗口,D是C的iframe,C是B的iframe,B是A的ifra…