Web前端学习第二篇

今天看到了一篇写的不错的文章,是有关对JQuery、js等一些源代码初识的内容,感觉写的还是不错,所以拿过来分享一下。

文章的地址:http://my249645546.iteye.com/blog/1716629

1.对(function(){})();

几乎所有的开源js代码开篇都是这样(function(……){……})(……);

下面是Jquery的部分源码:

(function( window, undefined ) {
    var jQuery = function( selector, context ) {
        // The jQuery object is actually just the init constructor ‘enhanced‘
        return new jQuery.fn.init( selector, context );
    },  

    // Map over jQuery in case of overwrite
    _jQuery = window.jQuery,  

    // Map over the $ in case of overwrite
    _$ = window.$,
    ……
    indexOf = Array.prototype.indexOf;  

    // Expose jQuery to the global object
    window.jQuery = window.$ = jQuery;
})(window);   

那么这个操作符(function(){})();到底是什么意思呢?

(function(){})中的定义了一个function,紧接着的()表示立即执行这个function。

我们看到Jquery源码第一个()中是定义了一个匿名function( window, undefined ) {};接着末尾有个(window),就表示执行这个匿名function,并传入参数window。

在匿名function( window, undefined ) {}中,定义了一个局部变量jQuery;然后在末尾我们看到Jquery末尾有一句 window.jQuery = window.$ = jQuery; 这句代码就表示,将此前定义的jQuery导出到window对象。这也是为什么我们可以在代码任何地方直接使用$、jQuery对象,因为在这里已经将$、jQuery对象挂载到window下去了,而window.$、window.jQuery与直接使用$、jQuery是没有区别的。

(注意,这个window对象是传入的参数window,而不是浏览器window对象!!一个形参、一个实参。我们可以在定义function的时候,将参数window取名为其他字符。所以我们看到jquery.min.js中这个匿名function变成了(function(E,B){})(window);)

通常(function(){})()用来封装一些私有成员或者公共成员的导出。

这个其他的内容我就不从那篇文章上抄了,大家还是看那边文章吧!呵呵....

文章的地址:http://my249645546.iteye.com/blog/1716629

Web前端学习第二篇

时间: 2024-10-13 06:56:32

Web前端学习第二篇的相关文章

Web前端学习—第二课HTML篇

Q6:什么是HTML标签,如何合理使用HTML标签?哪些特殊场合需要使用特定的标签? (不考虑CSS) HTML标签(超文本标记语言标签):是html语言中最基本的单位,是html语言最重要组成部分. [使用]是由尖括号包围的关键词,如:<html>:通常是成对出现的,如<div></div>;标签对中第一个标签是开始标签,第二个是结束标签:开始标签和结束标签也被成为开放标签和闭合标签:也有单独呈现的标签,如<br />:一般成对出现的标签内容在两个标签之间

Web前端学习-第二课JavaScript篇

Q3:怎么检测数据类型?有哪些方式?其原理是什么? Typyof检测基本数据类型,,返回值是一个代表数据类型的字符串,而且是小写的:instanceof检测对象类型(原理是获取某一对象实例).Constructor检测对象的已有属性类型或者基本数据类型:object.prototype.toString()得到一个表示对象的类型的字符串.此方法可有效判断数组,函数,正则表达式,等对象类型(引用类型)可判断null和undefined: 描述一下Typeof和instanceof在判断类型的时候,

web前端【第二篇】HTML基础二(表单、div)

一.表单 功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含textarea.select.fieldset和 label标签. 表单属性 action: 表单提交到哪.一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web method: 表单的提交方式 post/get默认取值就是get 注意啦!!!!

Web前端学习第二天

还是用中文,省时间.... 话说今天接到一个电话面试,问了6,7个问题3和没答上来,然后被拒了. 看来我还得好好提升一下自己才有资格找实习. 今天干了三件事: 1.在github上创建了一个自己的repository,并把测试网站放上去试了一下,成功! 2.用了一个git,感觉很诡异. 3.复习了一部分CSS. 常用git命令: $ git clone  //本地如果无远程代码,先做这步,不然就忽略 $ cd //定位到你blog的目录下 $ git status //查看本地自己修改了多少文件

WEB前端学习笔记 四

接上一篇,web学习笔记 四,在此感谢您对此篇笔记的认可,但转发时请注明文章出自网知博学. 2.0  html的语法格式 html的标签要写在尖括号中 :<> 在在英文输入法状态下,按住shift键然后再按它左侧的尖括号就可了, 先学习一个简单的h1标签,是个标题标签,在html中这样写: <h1>我在h1标签中,我就是标题</h1> 那么h1标签中所包裹的文字,就标记成标题了.通过浏览器的解析后在页面上显示出来的效果就是字体加粗,加黑,和word中的标题性质一样! 大

WEB前端学习笔记 一

最近时间比较充裕,整理了一下学习过的笔记,此篇笔记包含了:Html.Css.JavaScript.Jquery.以及使用帝国CMS或是织梦CMS建立自己的网站,也许也会整理一下PHP的笔记,如果时间允许会整理完全. 虽然笔记是从最基础的开始,但是,并不包含电脑的基础知识,所以你必须已经掌握了一些电脑的基本操作,比如开关机,你的电脑用的是什么操作系统,至少也要会用word和wps吧.浏览器是做什么的,什么拷贝.复制.粘贴.知道最基本的文件类型,如,文本文件,视频文件,图片文件,什么是可执行文件,分

WEB前端学习笔记 五

接web前端学习笔记第四篇,此篇为web学习笔记 五,在此感谢您的采集和转发,但请注明文章出自网知博学. 2.0.3  html标签的属性格式 现在我们知道了两个双标签分别是,标题标签:<h1> - <h6>.和段落标签:<p></p>还知道了一个换行的单标签:<br />,现在我们给<p></p>标签添加一个属性,来改变段落是右对齐,还是左对齐,还是居中. 如上图,<p>标签中的 align(中文就是排列的意

Web前端开发第一篇

本人在学习和开发web前端中得到的一些javascript.jquery.html等等效果可能对大家有用和对大家有帮助的东西一起分享给大家. 这些效果也许很多人都已经有了,不过我还是积累下,分享给一起学习Web前端的人员和刚刚开始学习Web前端的人员, 希望能帮助大家. 我的语言组织能力比较差,还有我的技术水平也是比较差的,有些东西可能理解的不对,大神们可以指点出来我加以改正,希望大家见谅! Web前端开发第一篇

好程序员web前端学习路线分享jQuery学习技巧

好程序员web前端学习路线分享jQuery学习技巧,jQuery在web前端学习中是一个必不可少的内容,很多小伙伴都在学习这阶段的时候遇到问题,今天我们就来聊一下jQuery,让我们一起来看一看吧! 1.关于页面元素的引用 通过jquery的$引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法. 2.jQuery对象与dom对象的转换 只有jquery对象才能使用jquery定义的方