javascript for in 循环时,会取到Array.prototype

/**
 *删除数组指定下标或指定对象
 */

if(!Array.prototype.remove){

    Array.prototype.remove = function(obj){
        for(var i =0;i < this.length;i++){
            var temp = this[i];
            if(!isNaN(obj)){
                temp=i;
            }
            if(temp == obj){
                for(var j = i;j <this.length;j++){
                    this[j]=this[j+1];
                }
                this.length = this.length - 1;
            }
        }
    }
}

//get array size
if(!Array.prototype.countArray){

    Array.prototype.countArray=function(){
        if(this == null){
            return 0;
        }
        var size = 0;
        for(var key in this){
            if(this[key] != undefined && typeof this[key] != ‘function‘){
                size++;
            }
        }
        return size;
    }
}

在JS中,扩展了array的两个方法,在for in 会输出CountArray和remove这个元素,

目前使用类似

for(var key in array){
  if(typeof array[key] == ‘function‘){
   continue;
  }
  // do somthing
}
时间: 2024-10-11 21:43:57

javascript for in 循环时,会取到Array.prototype的相关文章

JavaScript 中 for 循环

在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循环,是: for-of 下面我们就来看看这 4 种 for 循环. 简单 for 循环 下面先来看看大家最常见的一种写法: 1 2 3 4 const arr = [1, 2, 3]; for(let i = 0; i < arr.length; i++) {     console.log(arr

Javascript中的循环

Javascript中有两种循环的方法for循环和for-in循环 for循环主要用来循环数组,for-in循环应该用来遍历非数组对象.从技术上来说,for-in循环也可以用来遍历数组(JS中数组也是对象),但这样做并不是很好,当该数组被自定义函数扩大后,有可能导致逻辑上的错. for循环的常规写法 for(var i = 0; i < myarray.length; i++){ //对myarray[i]进行操作 } 在常规写法中,每次循环时都要重新访问计算数组的长度,将会导致代码运行速度下降

Python-定时爬取指定城市天气(二)-邮件提醒

目录 一.概述 二.模块重新划分 三.优化定时任务 四.发送邮件 五.源代码 一.概述 上一篇文章python-定时爬取指定城市天气(一)-发送给关心的微信好友中我们讲述了怎么定时爬取城市天气,并发送给指定微信好友,文末遗留两个问题 定时任务做成windows服务,这样更优雅,随开机启动 发送消息给微信好友换成发送邮件给指定邮箱 本篇文章我们在原来代码的基础上进行了一定的模块拆分,并处理以上两个问题 二.模块重新划分 1. 新增my_job.py文件,把任务模块单独划分出来 之前的定时任务使用的

对javascript EventLoop事件循环机制不一样的理解

前置知识点: 浏览器原理,浏览器内核5种线程及协作,JS引擎单线程设计推荐阅读: 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理 [FE]浏览器渲染引擎「内核」 js异步编程,Promise实现推荐阅读: Javascript异步编程的4种方法 前端面试必考题Promise的源码解析 堆.栈.队列.执行栈.任务.微任务.事件循环机制??推荐阅读: JavaScript异步编程-基础篇 彻底搞懂浏览器Event-loop 这一次,彻底弄懂 JavaScript 执行机制 一次弄懂Even

关于各种数据库 Insert时同时取到Id的操作

对数据库的操作,在Insert的同时获取到Id,保证原子性操作.而不是,先取Id,然后再插入到数据库等操作. Oracle: 使用Oracle自带的 Returning into 语句,具体代码示例如下: 1 sql = @"INSERT INTO KEYWORD(KEYWORD_ID,SITE_ID,KEYWORD_NAME,STATUS,SOURCE,CREATE_TIME,LAST_CHANGED) 2 VALUES 3 ( 4 KEYWORD_SEQ.nextVal, 5 :SITE_I

JavaScript数组的循环和迭代

JavaScript数组的循环和迭代 循环 for循环 普通版for循环 var arr = ["a","b","c","d"]; for (let i = 0; i < arr.length; i++){ console.log(arr[i]); .//a b c d } 优化版for循环 var arr = ["a","b","c","d"

html+css+javascript实现列表循环滚动示例代码

使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内容 1.关键代码:javascript: 代码如下: <script type="text/javascript"> var dome=document.getElementById("dome"); //获取节点 var dome1=document.ge

JAVASCRIPT基础07-for-in循环

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

Javascript 函数parseInt()转换时出现bug

这是一个很诡异的事情,今天测试的测出来的.parseInt(1.13*100),实际返回值是112.直接看代码吧 <head> <script type="text/javascript"> function test(){ var thisvalue = 0; thisvalue=yuanToFen($("#inp").val()); alert(thisvalue); } /*元转分*/ function yuanToFen(yuan){