简明现代魔法 -> JavaScript

你真的了解图片的预加载吗

很多预加载的代码存在一些潜在问题

相信大家都看到过ie下的内存泄漏模式的文章,其中有一个模式就是循环引用,而闭包就有保存外部运行环境的能力(依赖于作用域链的实现),所以img.onload这个函数内部又保存了对img的引用,这样就形成了循环引用,导致内存泄漏。(这种模式的内存泄漏只存在低版本的ie6中,打过补丁的ie6以及高版本的ie都解决了循环引用导致的内存泄漏问题)。

发布于 2011-04-17 分类:javascript

表格的行也是可以拖动的

看看表格的行拖动是如何实现的

行拖动的实现思路非常简单,选中一行,往上拖就与上面的行交换位置,往下拖就与下面的行交换位置。问题是如何得到交换行。我见过一个非常详细的教程,它会把表格里的每一行的高度与Y坐标计算出来,换言之,都时是比较e.pageX是否在[rowTop,rowBottom]区间之内。但这也带来第二个问题,有多少行就有多个这样的区间。

发布于 2011-04-16 分类:javascript

JavaScript类型判断函数汇总

形如 "是否为……?" 的判断的boolean函数

我们很容易被漂亮的代码吸引,也不知不觉的在自己的代码库中加入这些。却没有冷静的想过它们的优劣。这不,我就收集了一系列形如 "是否为……?" 的判断的boolean函数。以上isXX系列中,isUndefined在类库中用的最多。如判断是否传入了某个参数,判断对象是否拥有某个属性等等。但这个函数是不必存在,我已将其移除。

发布于 2011-04-16 分类:javascript

一个JavaScript自由拖拽类介绍

原生JavaScript实现的拖拽效果

这个效果没有使用JQuery,纯原生JavaScript实现,可以参考下。拖动效果平滑,自然,CPU性能没有明显起伏。具体的拖拽了可以查看本页源代码获得,这里就不贴出来了。target 拖拽元素 HTMLElemnt 必选,指定鼠标按下哪个元素时开始拖拽,实现模态对话框时用到。

发布于 2011-04-15 分类:javascript

JavaScript自动点击链接

自动点击链接与自动跳转

做支付宝帐号登录,需要做一个效果,就是打开链接页面的时候,不需要点击链接,直接跳到支付宝登录页面。也就是说,需要做一个自动点击链接的效果。网上搜了下,大部分网页上都是相互抄来抄去,基本都是用这个。这个在Chrome和IE下都能正常,但是在Firefox下就不能了。

发布于 2011-04-14 分类:javascript

JavaScript词法作用域拾遗

一系列JavaScript基础概念是连通的

要理解的话,其实我们可以对比传统面向对象的(如JAVA、C#)中的变量的作用域,我们知道C#中的变量作用域是块级的,即这个变量只能活动在定义他的一个直接外界内,如if子句内,for子句内定义的变量外界是无法读取的。而js中呢,变量却不是这样的,在同一个函数内定义的变量其它的成员是可以访问的。

发布于 2011-04-12 分类:javascript

JavaScript词法作用域与调用对象

词法作用域、调用对象和闭包

Javascript 中的函数属于词法作用域,也就是说函数在它被定义时的作用域中运行而不是在被执行时的作用域内运行。这是犀牛书上的说法。但"定义时"和"执行(被调用)时"这两个东西有些人搞不清楚。简单来说,一个函数A在"定义时"就是 function A(){} 这个语句执行的时候就是定义这个函数的时候,而A被调用的时候是 A() 这个语句执行的时候。

发布于 2011-04-11 分类:javascript

JavaScript事件机制详细研究

最详尽的方式让你了解JavaScript的事件

本篇开始将回顾下Javascript的事件机制。同时会从一个最小的函数开始写到最后一个具有完整功能的,强大的事件模块。为叙述方便将响应函数/回调函数/事件Listener/事件handler都称为事件handler。先看看页面中添加事件的几种方式。HTML Element元素自身就拥有了很多onXXX属性,只需将JS代码赋值给其就可以了。

发布于 2011-04-11 分类:javascript

JavaScript创建与读写cookie

cookie 是存储于访问者的计算机中的变量

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。

发布于 2011-04-10 分类:javascript

一些JavaScript时间处理函数整理

整理了几个之前用到的js处理时间的函数

在JavaScript中,时间处理是经常需要用到的。最近想要慢慢建立自己的代码库,整理了几个之前用到的js处理时间的函数,发出来跟大家分享一下,以后的使用中会不断增加和修改代码库。有时需要把字符串转换为日期对象,用来把形如yyyy-mm-dd或者dd/mm/yyyy的字符串转换为日期对象。

发布于 2011-04-09 分类:javascript

整合获取对象的$()函数

dom操作的一个简易函数

在dom操作时,有时根据id获取单个对象、有时根据className获取多个对象。平常可能我们用两个函数来实现这两个功能。不过我将它们整合了一下,目前使用情况良好,函数如下。另外,$与$结合使用的话,就会更加的方便了。

发布于 2011-04-08 分类:javascript

JavaScript团队编程规范与建议

针对javascript函数式编程风格制定出来

本规范是针对javascript函数式编程风格与公司严重依赖于jQuery进行编码的现实制定出来。禁止使用eval,with与caller(ecma262 v5 的use strict要求)。eval只允许在加密时机器生成。声明变量必须加上 var 关键字,除了在for(;;)循环等语句中,原则上不允许使用连续声明。因为连 续声明的效率不如分开声明高,而且很容易手误致其暴露到全局作用域下。

发布于 2011-04-05 分类:javascript

在textarea光标处插入文字

selectionStart和selectionEnd属性

在网上看了很多用js在光标处插入文字的代码,很多都没有用,护抄而已,浪费时间。最近用到一个新方法,可以到达这个需求。IE支持document.selection,Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性。

发布于 2011-04-04 分类:javascript

JavaScript字符串连接类

写成了类的方式,方便调用

最近在看一同事写的代码时,有一个字符串用了一堆"+"号,看了半天没明天到底会输出什么样的内容,就想到用字符串连接的类,把以前的方法写成了类的方式,方便调用。下面的类支持实例调用和静态调用,参数可以是单独的字符串,或者json的格式,或者类似参数数组的方式,见下面示例。

发布于 2011-03-27 分类:javascript

关于parseInt()函数的一道面试题

parseInt()的深入了解

JavaScript 是弱类型语言,为了保证数值的有效性,在处理数值的时候,我们可以对数值字符串进行强行转换。如 parseInt 取整和 parseFloat 取浮点数。Java 也有 Integer.parseInt() 方法, 但是 JavaScript 的 parseInt 处理方式与 Java 等强整型语言不太一样, 所以经常有人因为对这个方法的使用不当而获得异常返回。

发布于 2011-03-25 分类:javascript
 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们