firebug的一个有趣现象
var obj = {length:0,splice:function(){}}console.log(obj)

猜猜上面会打印出啥?

没错,打印出来的看起来是一个空数组。。。

在FIREBUG里如果一个对象同时拥有length属性和splice方法,就会被firebug显示为数组的形式。。。

如果以前注意过的话就会发现JQUERY就是这么写的,通过选择器打印出来的看起来跟数组一样。

一直以来我都很好奇为毛返回的数组,但是却有数组根本没有的方法,也没有数组该有的方法,比如:pop等

最后通过查资料才发现这么一个有趣的现象。。

但是在IE下面打印出来的就是正常的[Object Object]了。

于是就可以这么玩一下。。。。

var push = Array.prototype.push;var splice = Array.prototype.splice;var a = function() {var a = function(name) {return new a.fn.init(name)    }    a.fn = a.prototype;    a.fn.init = function(name) {    var arr = document.getElementsByTagName(name);    merge(this,arr);  }    a.fn.splice = splice;    a.fn.init.prototype = a.fn;return a;}()function merge(first, second) {//完全抄袭jquery中的merge方法- -    var i = first.length || 0, j = 0;if( typeof second.length === "number") {for(var l = second.length; j < l; j++) {            first[i++] = second[j];        }    } else {while(second[j] !== undefined) {            first[i++] = second[j++];        }    }    first.length = i;return first;}

a.fn.css = function(pop, val) {for(var i = 0; i < this.length; i++) {if(this[i].nodeType===1){this[i].style[pop] = val;        }    }return this;}

var ab = a('div');ab.css('backgroundColor', '#444444').css('borderWidth', '2px').css('borderStyle', 'solid')

于是,山寨版jquery并且只支持tagName选择器并且只有山寨CSS方法的一个库就诞生了。。

posted on 2011-11-28 15:36 王厕所 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/wangwc/archive/2011/11/28/2266286.html

firebug的一个有趣现象相关推荐

  1. 发现魔方阵的一个有趣现象

    昨天机器上装了一个MatLab 6.5,无意中发现一个有趣的现象: n阶魔方阵的行列式值等于零.条件是(n mode 2 = 0 and n > 2); 我做了验证如下: >> A= ...

  2. windows 98 设置 TEMP 环境变量时的一个有趣现象

    今天设置 windows 98 的 TEMP 环境变量时,发现了一个有意思的现象: 当我使用: SET TEMP=D:/win98temp SET TMP=D:/win98temp 时, 在dos窗口 ...

  3. 关于context:property-placeholder的一个有趣现象

    早上往项目里面整合redis时,一直报下面的错,上网查了一下,终于解决了!(⊙o⊙)! org.springframework.beans.factory.BeanDefinitionStoreExc ...

  4. 有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,各有一个main函数,谁在前先执行谁!

    发现一有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,个有一个main函数,谁在前先执行谁! //Detergent.java //Class:Detergent,Clean ...

  5. 一个有趣的实验:用0.1f 替换 0,性能提升 7 倍!

    点击关注上方"视学算法",设为"置顶或星标",第一时间送达技术干货. 本文来源:http://cenalulu.github.io/linux/about-de ...

  6. CFile类打开文件的有趣现象

    CFile类打开文件的有趣现象 作者:lypindream 下载源代码 在编制对话框应用程序的过程中,我发现一个很有趣的现象,就是当使用CFile类的Open成员函数打开一个文件时,如果不指定文件的路 ...

  7. Python有趣现象(不定时更新)

    1.list中extend方法有趣现象 1.1 List+=Str 与 List.extend(Str) 1 list1 = [11,2,45] 2 str1 = 'Michael' 3 list1. ...

  8. 自定义变量的一个有趣案例

    老叶: 大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 今天在群里看到一个有趣的案例 直接上案例 root@mysql3306.sock>[test]>create table t ...

  9. 事件监听中的冒泡流和捕获流有趣现象

    事件监听中的冒泡流和捕获流有趣现象 这两天在看js权威指南的时候看见addEventListener的第二个参数为使用哪一种事件流,实践了一下,然后想到一个有趣的事,如果两个一起用会怎么样. 首先看看 ...

最新文章

  1. 怎样安全的使用可变参数宏__VA_ARGS__
  2. 虚拟的云服务器需要重启吗,虚拟主机重启服务器吗
  3. 75. Sort Colors - LeetCode
  4. ASP.NET MVC多语言 仿微软网站效果(转)
  5. 【elasticsearch】ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]
  6. mysql 外键 失败_存在外键时,MySQL 5.5外键约束失败
  7. Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
  8. 边框border(HTML、CSS)
  9. Thread.Sleep太久,界面卡死
  10. failed to fetch url linux,ubuntu apt-get下载报failed to fetch错误,请问如何解决
  11. 【OR】YALMIP 几何规划
  12. Foxit Quick PDF Library License Key
  13. leapftp download,leapftp download如何下载,软件介绍
  14. 原来使用 Pandas 绘制图表也这么惊艳!
  15. 嵌入式lab3——自行车码表
  16. Pr2019 安装教程
  17. 淘宝客网站应该怎么优化?
  18. Unity实现圆形旋转滚动视图
  19. 直击JDD | 陈生强:京东数科的底层是数字化操作系统
  20. AndroidWear 手持设备与穿戴设备的通知同步

热门文章

  1. docker二进制代码编译
  2. BZOJ 4516 [Sdoi2016] 生成魔咒
  3. django-重写登录认证(可以使用用户名或手机号登录)
  4. datatables[columns] 中的详细参数
  5. 45. ExtJS ComboBox 下拉列表详细用法
  6. JAVA 面向对象-2-继承(Inheritance)
  7. Linux 配置静态IP
  8. 解决Ubuntu 14下,PhpStorm 9.x 编辑器界面中文乱码的问题
  9. 网站自动提交至百度站长收录平台函数(适用任何框架代码)
  10. 网络驱动器设备:iscsi服务器