//->自己在内置类的原型上扩展一个myForEach来处理forEach不兼容的问题//callBack:回调函数,遍历数组中的一项,就要执行一次callBack//context:改变callBack方法中的this指向 Array.prototype.myForEach = function myForEach(callBack, context) { typeof context === "undefined" ? context = window : null; if…
如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(function(item){ item = 30; }) console.log(arr); //输出 (5) [1, 3, 5, 7, 9] 显然没有达成目的,下边这样写可以实现 // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(function(item,inde…
一.用到onkeydown获取事件动作, 二.用到键盘对应代码keyCode, 三. var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异, 代码如下: XML/HTML代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra…
数组的遍历 遍历数组,将数组中的所有元素都取出来. 使用for 循环执行数组的索引(length-1)相同的次数. var arr=["1", "5", "10", "25", "40", "1000"]; for(var i=0;i<arr.length;i++){ console.log(arr[i]); } 除了常见的使用for循环去遍历数组,JS中还为我们提供了一个方法,用…
http://www.fantxi.com/blog/archives/load-css-js-callback/ 由于需要写个函数,既可以加载css,又可以加载js,所以对各主流浏览器对加载js.css后是否触发onload事件做了个测试.当然,为了兼容,首先要考虑的是会用到onload和onreadystatechange,但他们并不是万能的.加载js文件onload触发callback不算大问题.css比较特殊,因为Webkeit/FF下加载css不会触发onload事件.所以研究了一晚上…
JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } ret…
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要单挑reduce方法,一个原因是我对这个方法掌握不够,不能够用到随心所欲.另一个方面,我也感觉到了这个方法的庞大魅力,在许多的场景中发挥着神奇的作用. 理解reduce函数 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. a…
数组 1. 基本方法  1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的顺序添加到数组的前面. 示例: var arr = ['a','b','c'] var result = arr.unshift(9) console.log(result) console.log(arr)// [9,'a','b','c'] var result1 = arr.unshift(9…
数组常用的方法: x.toString()方法:任何对象都有toString方法.        将任何对象转为字符串. 一般不主动调用,系统在需要时自动调用 x.valueOf()方法:同toString()  基本完全一样. var str = arr.join("分隔符"):将数组转为字符串.但是可以自定义分隔符!  默认符号为逗号 用法:将字符拼接为单词或句子.  固定用法:  chars.join(''); <!DOCTYPE HTML> <html lan…
一.数组去重 var arr = [0,1,20,3,0,45,6,0]; Array.prototype.unrepeat = function(){ var array = []; for(var i = 0;i<this.length;i++){ if(array.indexOf(this[i]) === -1){ array.push(this[i]); } } return array; } console.log(arr.unrepeat()); 二.数组排序 var arr = […
  ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己). 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的)运行该函数的作用域对象--影响this的值. 以下是这5个迭代方法的作用: every()对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true ; filter()对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组 ; forEach()对数组中的每一项运…
数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 var arr = [1,2,3]; (2) 使用构造函数创建 var arr = new Array(); //创建一个空数组[] var arr = new Array(3); //创建一个长度为3的数组(数组项都为undefined) var arr = new Array('小鸣',18,…
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertica…
函数功能:实现主流浏览器的文件下载功能: 兼容性: >=IE10,Edge,chrome,firefox; 与后台的请求方式:GET请求,  url携带参数  url?id=123(隐藏文件真实路径): 实现下载功能的前提是判断出浏览器类型: browserType: function(){ var userAgent = navigator.userAgent.toLowerCase(); // Figure out what browser is being used var testCen…
说明一下,ECMAScript没有定义使用哪种排序算法,各个浏览器的实现方式会有不同.火狐中使用的是归并排序,下面是Chrome的sort排序算法的实现. sort方法源码 DEFINE_METHOD( GlobalArray.prototype, sort(comparefn) { CHECK_OBJECT_COERCIBLE(this, "Array.prototype.sort"); if (!IS_UNDEFINED(comparefn) && !IS_CALL…
问题描述: 函数的结构如上图所示,在调用该函数的时候,浏览器报错: 分析原因: 在 js 的语法中,如果语句独占一行,通常可以省略句末的分号 但实际上 js 解析代码的时候,只有在句末缺少分号就无法正常运行的时候,才会自动填补分号 如果前后的语句能够组成一个语法正确的语句,则不会自动填补分号 上面的函数中,js 实际处理的代码为: function test(a, b, c) { var x = a + b[a, b, c].forEach(function(e){ // ... }) } 通常…
迭代器方法:对数组中的每一个元素应用一个函数,可以返回一个值,一组值或者一个新的数组.说的什么啊这是,根本听不懂.实践 不生成新数组的迭代器的方法: <html> <head> <title>数组的字符串表示</title> <script type="text/javascript"> function square(num){ alert(num+","+num*num); } function B()…
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 16px; /*滚动条宽度*/ height: 16px; /*滚动条高度*/ } /*定义滚动条轨道 内阴影+圆角*/ ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); border-radius: 10px; /*滚动条的背景区域的圆角*/ background-col…
怎么判断一个对象是不是数组? 首先可以用 ES5 提供的 isArray 方法进行判断(注意:Array.isArray是ES 5.1推出的,不支持IE6~8,所以在使用的时候也应注意兼容问题. ) 可以使用 instanceof Array 来判断,不过这种方式存在问题,比如当存在多个全局对象(如使用ifream),那么这个窗口的Array对象对另一个窗口使用 instanceof 就会判断失败 通过 toString 来进行判断 function isArray(value){ return…
修改器方法 下面的这些方法会改变调用它们的对象自身的值: Array.prototype.copyWithin()  在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值. Array.prototype.fill()  将数组中指定区间的所有元素的值,都替换成某个固定的值. Array.prototype.pop() 删除数组的最后一个元素,并返回这个元素. Array.prototype.push() 在数组的末尾增加一个或多个元素,并返回数组的新长度. Array.prototy…
split()方法:var words = sentence.split(' '): "hello".split("", 3) //可返回 ["h", "e", "l"] 数组声明:方法一:var a = new array();a[0] = "1";a[1] = 2;a[2] = { x:1, y:3};方法二:var  a  =  new array("1" ,…
<!DOCTYPE html><html><head> <title>数组的方法</title> <meta charset="utf-8"></head><body> <script type="text/javascript">/* //转换方法 var box = Array("161班","XX同学","…
方法一: 新建一个数组,遍历原数组,在新数组内用IndexOf查找原数组内的每一项,如果没有找到,则添加到其中 代码如下: function arrayNew(arrs ){ var newArray = []; for(var i=0;i<arrs.length;i++){ if(newArray.indexOf){ if(newArray.indexOf(arrs[i])==-1){newArray.push(arrs[i])} } else{ if(indexOf(arrs[i],newA…
w3school文章链接:http://www.w3school.com.cn/jsref/jsref_splice.asp splice:拼接,结合. splice()方法向数组添加/删除元素,返回被删除的元素. 如下示例: splice参数解释: arr.splice(start,deleteCnt,args); start:必需.整数,规定添加添加元素的位置,使用负数可从数组结尾处规定位置. deleteCnt:必需.要删除的元素的数目.如果设置为0,则不会删除元素. args:可选.向数…
1.push() //可以接受任意参数,然后添加到数组的末尾 2.pop()//栈方法,在数组末尾删除一条数据,并且返回这条数据 3.shift()//队列方法,与pop()相似,但是与其相反,在数组的开始位置删除一条数据,并返回这条数据. 4.reverse(),sort() //数组排序方法,sort()方法默认按每条数据的首字母排序,例如:1,3,34,21,22如果不传入比较参数array.sort()为1,21,22,3,34 为了让其可以按数字排序,则必须添加一方法, functio…
1.检测数组 ①Instanceof: if(value instanceof Array){ } 它假定只有一个全局执行环境,若网页中包含多个框架,则存在多个不同的全局执行环境,则Instanceof不能正确检测: ② Array.isArray() 无论几个全局执行环境都可以: if(Array.isArray(value)){ } 2.转换方法 ③ toString() 会返回数组的每个值拼接起来的字符串(以逗号分隔):不会影响原数组: var colors=['red','black',…
//数组去重 Array.prototype.unique = function() { var newArr = [], hash = {}; for(var i=0, len=this.length; i<len; i++) { if(!hash[this[i]]) { newArr.push(this[i]); hash[this[i]] = true; } } return newArr; }…
var arr = ['A','B','C','D']; length 计算数组的长度 arr.length//4   indexOf() 搜索一个指定的元素的位置 arr.indexOf('C');//2 arr.indexOf('d');//-1,不存在返回-1   slice() 截取数组的部分长度,然后返回新的数组 arr.slice(0,3);//从开始索引0开始,到结束索引结束,但不包括结束索引,['A','B','C'] arr.slice(3);//从7开始到结束,['D'']…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> function upload(input) { //支持chrome IE10 if (window.FileReader)…
<html> <head> <title>数组的操作</title> <script type="text/javascript"> function B(){ var names=["zhangsan","lisi","wangwu"]; var name=document.getElementById("name").value; var po…