jquery数组

Underscore.js 1.3.3 源码分析收藏

天涯浪子 提交于 2020-03-31 22:53:12
源码注释转之网上他人之备注,特收藏以后方便阅读。 // Underscore.js 1.3.3 // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. // Underscore is freely distributable under the MIT license. // Portions of Underscore are inspired or borrowed from Prototype, // Oliver Steele's Functional, and John Resig's Micro-Templating. // For all details and documentation: // http://documentcloud.github.com/underscore (function() { // 创建一个全局对象, 在浏览器中表示为window对象, 在Node.js中表示global对象 var root = this; // 保存"_"(下划线变量)被覆盖之前的值 // 如果出现命名冲突或考虑到规范, 可通过_.noConflict()方法恢复"_"被Underscore占用之前的值, 并返回Underscore对象以便重新命名 var previousUnderscore = root._;

《JavaScript and jQuery The Missing Manual》学习笔记之JavaScript基础语法

拥有回忆 提交于 2020-03-30 04:48:53
看完前三章,这本书真的是注重于jquery部分啊。。。泪奔中。。。算了,既然开坑了,就默默地把它给填上== 1.JavaScript 中只有三种数据类型: number, string, boolean ( true 和 false )。 2.JavaScript 中变量名只能由字母、数字、 $ 和 _ 组成,不能以数字开头,也不能与已有的关键字重名。而且 JavaScript 是一种对大小写敏感的语言。 以下是 JavaScript 中的关键字: 3.不能将一个引号内的字符串分割成两行( Java 跟 C# 貌似也是一样的 == ) 4.JavaScript 中采用 + 号连接字符串,就跟 Java 和 C# 一样。 5.JavaScript 中有两种方法将字符串转换为数字:一 . 在变量名前加上 + 号(中间不能有空格);二 . 使用 Number( 变量名 ) 。 注:若字符串不能够转换为数字,则会得到 NaN ( not a number )值。 6.JavaScript 中创建数组的方式主要有两种: 一.var days = [‘Mon’, ‘Wen’] ;(注,中括号内的内容可以为空) 二.var days = new Array(‘Mon’, ‘Wen’); (第一种方式更受专业人士欢迎,因为输入字符少些。。。) 7.数组中可以放置各种不同类型的数据,如: var

jquery数组处理

被刻印的时光 ゝ 提交于 2020-03-27 06:14:23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hi!</title> <script type="text/javascript" src="../scripts/jquery-1.2.1.js"> </script> <script type="text/javascript"> var $ = 'Hi!'; jQuery(function(){ alert('$ = '+ $);//这里的 $ 为 Hi!,把它变回jquery的符号:jQuery(function($){ }/这样就可以了 //alert(jQuery) }); jQuery(function($){ //------------遍历数组 .each的使用------------- var anArray = ['one','two','three']; $.each(anArray,function(n,value) { //do something here //alert(n+' '+value); }); var anObject = {one:1, two:2, three:3}; $.each(anObject

ES6之数组扩展方法【一】(相当好用)

被刻印的时光 ゝ 提交于 2020-03-27 05:25:20
form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作; var inputObjs=document.getElementsByTagName('input'); for(var i=0;i<inputObjs.length;i++){ if(inputObjs[i].type==='button'){ inputObjs[i].onclick=function(){ return; } } } 这样写肯定是没有问题的,但是我们知道很多操作数组的方法比 for 循环好用多了,比如 es5 的 forEach 方法就很好用;但是能直接用吗?不能!因为 dom 对象集合不是一个真正得 Array 数组类型,直接使用会报错的; var inputObjs=document.getElementsByTagName('input'); inputObjs.forEach(); //inputObjs.forEach is not a function 尽管如此我们还是可以用,不能直接用可以间接用,使用js强大的对象冒充功能即可; var inputObjs=document.getElementsByTagName('input');

JavaScript中的迭代器与循环

烂漫一生 提交于 2020-03-24 18:15:35
引言: 本文涉及内容包括: forEach方法 for-in方法 for-of方法 eval()方法 map()方法 今天来总结一下,JS中我们常见的循环方式与迭代器,深入了解他们之间的区别,及适合的使用场景。 最早的数组遍历方式 var a = ["a", "b", "c"]; for(var index = 0;index < a.length;index++){ console.log(a[index]); } for循环 ,我们最熟悉也是最常用的循环迭代方式,后来的许多迭代方法都是基于for循环封装的。 1 forEach 语法: [].forEach( function (value, index, array) { // ... }); forEach遍历数组,而不是遍历对象哦,而且在遍历的过程中不能被终止,必须每一个值遍历一遍后才能停下来. 也就是说:你不能使用break来退出循环, 不能使用return语句来返回到外层 jquery中forEach 注意其与jQuery的$.each类似,只不过参数正好是相反的! $.each([], function (index, value, array) { // ... }); 2 for...in 适合进行普通对象的遍历 for-in循环遍历对象的key,即键值对的键名。 特性如下: 1. 方法遍历到的index

源码浅析2--奇技淫巧

一个人想着一个人 提交于 2020-03-17 03:55:46
本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // ||短路表达式 var foo = a || b; // 相当于 if (a){ foo = a; } else { foo = b; } // &&短路表达式 var bar = a && b; // 相当于 if (a){ bar = b; } else { bar = a; } 当然,上面两个例子是短路表达式最简单是情况,多数情况下,jQuery 是这样使用它们的: 1 2 3 4 5 6 7 8 9 // 选自 jQuery

jQuery源码浅析2–奇技淫巧

旧街凉风 提交于 2020-03-17 03:55:19
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。 本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为”&&”和”||”操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值

jQuery源码浅析2–奇技淫巧

偶尔善良 提交于 2020-03-17 03:54:30
http://www.cnblogs.com/coco1s/p/5303041.html @ChokCoco 最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。 本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为”&&”和”||”操作符的操作数表达式

JQuery.与dom对象互转

坚强是说给别人听的谎言 提交于 2020-03-17 00:25:44
1、jQuery对象与DOM对象 - 南曦 - 博客园.html( https://www.cnblogs.com/daisy-ramble/p/5553621.html ) 2、关键代码:   2.1、JQuery对象 转 DOM对象 var $div = $('div') //jQuery对象 var div = $div[0] //转化成DOM对象 div.style.color = 'red' //操作dom对象的属性   2.2、DOM对象 转 JQuery对象 var div = document.getElementsByTagName('div'); //dom对象 var $div = $(div); //jQuery对象 var $first = $div.first(); //找到第一个div元素 $first.css('color', 'red'); //给第一个元素设置颜色 3、网页内容保存 jQuery对象与DOM对象是不一样的 通过一个简单的例子,简单区分下jQuery对象与DOM对象: <p id=”imooc”></p> 我们要获取页面上这个id为imooc的div元素,然后给这个文本节点增加一段文字:“hello,world”,并且让文字颜色变成红色。 通过标准JavaScript处理: var p = document

将伪数组转换成数组

旧巷老猫 提交于 2020-03-09 16:52:25
这里把符合以下条件的对象称为伪数组: 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的 arguments 。 2,通过 document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() , childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。 3,特殊写法的对象 ,如 Js代码 var obj={}; obj[0] = "一"; obj[1] = "二"; obj[2] = "三"; obj.length = 3; 它们不具有数组的一些方法如push, pop, shift, join等。有时候需要将这些伪数组转成真正的数组,这样可以使用push, pop等方法。以下是工具函数makeArray Js代码 function makeArray(obj){ var rs=[],len=obj.length; try{ rs = [].slice.call(obj,0); }catch(e){//for IE for(var i=0;j=obj[i++];){ rs.push(j); } } return rs;