- 浏览: 2621124 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
之所以谈论一下这个api,是因为我以前在设计我自己的凤凰组件库的时候写过一个array的indexOf,然后我也写了一个JavaScript1.6新特性里面介绍的7个array扩展的api.所以回归到jQuery的源码再来看,可能就很简单了。
jQuery.inArray(value,array)
确认第一个参数在数组中的位置,从0开始计数(如果没有就返回-1)
- value ----------用于在数组中查找的项是否存在
- array ----------{Array}
源码展示:
/*@param elem 用于在数组中查找的项 @param array 待查找的数组 */ inArray: function(elem,array){ //判断浏览器是否支持javascript1.6新增的array原生的indexOf if(array.indexOf){ return array.indexOf(elem); } var i, len = array.length; //按照array的长度进行遍查找 for(i = 0,i<len;i++){ if(array[i] === elem ){ //如果array[i]的元素和elem相同 return i; } } //没有找到的话就返回-1 return -1; }
//简单测试一下 var arr = [0,1,2]; console.log($.inArray(0,arr)); //0 console.log($.inArray('a',arr)); //-1
总结一下:其实无论我们在编写自己的lib还是在一般的小项目里面,你如果看过hax的api设计讲座的话你会知道扩展Object.prototype的做法是不推荐的,或者尽量少用的。很多人在以前的项目里面自己在Array.prototype扩展了类似的indexOf,当然在IE8和以下的版本可能还是走你扩展的这个api,但是像ff等支持的高于JavaScript1.6版本以上的浏览器,它会去找原生的indexOf
而且个人觉得从代码优化角度来讲浏览器原生支持的似乎更快一点。如果你没有熟悉过JavaScript1.6等特性的新增情况也可以关注一下我后面推出的这个系列
发表评论
-
介绍jquery事件的一种内部写法
2013-03-25 20:00 2055注释:本文不探究jquery event机制, ... -
jquery add详解
2013-03-19 18:40 0add:function(elem,types, ... -
jquery事件系统解耦之一
2013-03-19 17:43 0先上代码:http://code.jqu ... -
jquery api之camelCase
2013-03-12 11:36 1222本代码取之:1.4.3版本(才开始有) ... -
jq的选择器流程之二
2013-01-28 16:45 0前面简单些了一篇《jq的选择器流程分析开篇》,本文关注1. ... -
jq的选择器流程分析开篇
2013-01-28 14:17 1735本文简单地分析以下jquery的选择器流程: 为了 ... -
jquery Sizzle系列之filters
2013-01-28 12:16 1730本代码来自1.7.1版本。 jQuery.expr ... -
event.isDefaultPrevented
2013-01-14 12:18 1652jQuery 1.3版本开始引入了一个这个 ... -
jQuery相关的boxModel
2012-12-21 20:58 1593此方法比较简单,但是 ... -
深入解读jquery的数据存储相关(data)序3
2012-12-19 18:27 2234前言: 上一篇: 深入解读jquery的数 ... -
深入解读jquery的数据存储相关(data)序3
2012-12-19 18:26 1本文关注一下jQuery1.4版本: 主要的变化: ... -
深入解读jquery的数据存储相关(data)序2
2012-12-18 11:03 1823前言: 先回顾一下上一篇:深入解读jquery ... -
深入解读jquery的数据存储相关(data)序2
2012-12-18 11:00 3前言: 先回顾一下 ... -
深入解读jquery的数据存储相关(data)开篇
2012-12-17 20:43 1999前言: 周六看了司徒的一篇文章,觉得这个top ... -
深入解读jquery的数据存储相关(data)开篇
2012-12-17 20:29 2前言: 周六看了司徒的一篇文章,觉得这个topic不 ... -
IE下删除自定义属性的兼容性问题
2012-12-17 10:02 2855很多时候我们会给某个dom元素赋予一些自定义的属 ... -
jquery ajax的各个事件执行顺序
2012-09-17 15:39 1577关于ajax的一些配置事件的触发顺序做了一些总结: ... -
获取head元素
2012-09-17 15:21 1887先上一段jquery 1.7.1版本的代码片段: ... -
jQuery源码浅谈系列---contents
2012-06-30 17:14 1439contents() ----- ... -
jQuery源码浅谈系列---end
2012-06-30 16:50 1455end() ------ 回到最近的一个“破 ...
相关推荐
《jQuery UI与jQuery插件深度解析——以jquery-ui-1.8.2.custom.min.js为例》 在Web开发领域,jQuery库以其简洁易用的API和强大的功能深受开发者喜爱。而jQuery UI作为jQuery的一个扩展,提供了丰富的用户界面组件...
jquery datepicker 的中文包 调用方法 <script src="./public/js/jquery-ui-1.10.3.min.js"> <script src="./public/js/jquery.datepicker-zh-CN.js"></script> <link href="./public/css/jqueryui/jquery-ui-...
jquery插件jquery-ui-timepicker-addon.j
**jQuery UI** 是一个强大的JavaScript库,用于构建用户界面,它基于流行的jQuery库。这个压缩包包含两个关键文件:`jquery-ui-1.8.16.custom.min.js` 和 `jquery-ui-1.8.16.custom.css`,这些都是jQuery UI的特定...
1.9.2是jQuery UI历史上的一个稳定版本,它包含了一系列修复和改进,确保了与当时jQuery库的兼容性和稳定性。每个版本更新都可能引入新的功能、修复已知问题或者优化性能,所以选择合适的版本对于项目是至关重要的。...
jquery-ui-1.8.16.custom.min.js
jquery-migrate-1.2.1.min.js 在网上下载一些 js 插件使用的时候,经常出现这种情况。但是更换低版本 jquery,比如 使用 1.7 版本的 jquery 却不会报错,能正常使用。 经过一番搜索,发现是因为高版本(1.9版本以后)...
《jQuery 1.12.4.min.js:前端开发中的基石》 在现代网页开发中,jQuery 是一个不可或缺的库,它极大地简化了JavaScript的使用,使得DOM操作、事件处理、动画效果以及Ajax交互变得更加简单易行。"jquery-1.12.4-...
jquery-ui-1.10.3.min.js
jquery-migrate-3.0.0.min.js 含源码 包含以下文件: jquery-migrate-3.0.0.min.js jquery-migrate-3.0.0.js // 这个是源码哦 截至2017.11.21, jQuery3.x 最新最稳定版本
jquery-ui-1.7.2.custom.min.js 用于提供实现jquery特效的js
jQuery版本迁移辅助插件,如果您使用的低版本jQuery改为高版本后出现错误,可以试试这个插件。用来检测和恢复在jQuery1.9版本中已删除或已过时的API。jquery-migrate-1.2.1.js,jquery-migrate-1.2.1.min.js
java
jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...
在Web开发中,由于浏览器的同源策略限制,JavaScript无法直接访问不同源的资源,这在使用jQuery进行AJAX操作时会遇到问题。本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 ...
jquery-ui-1.10.4.min.js下载
jQuery 3.x 系列是继1.x和2.x后的又一重大更新,它主要关注性能优化、API清理以及对现代浏览器的更好支持。`3.2.1`作为其中的一个小版本更新,主要关注修复已知问题和改进兼容性。 ### 2. jQuery.holdReady(hold) ...
jQuery-Migrate 是一个过渡插件让你在原来代码上升级 jQuery 不用修改代码。cdn:https://code.jquery.com/jquery-migrate-3.0.0.min.js