简明现代魔法 -> JavaScript

JavaScript数组去重的几种方法

列举5种解决这个问题的思路

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复。主要是理清思路和考虑下性能。以下方法,网上基本都有,这里只是简单地总结一下。遍历数组,一一比较,比较到相同的就删除后面的。遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组。遍历数组,取一个元素,作为对象的属性,判断属性是否存在。

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

记录一个JavaScript日期格式化方法

将一个日期对象按照定制的格式进行输出

我们都知道在Java和PHP语言中,有专门用于格式化日期对象的类和函数,例如Java中的DateFormat等等,通过这些类和函数,我们可以方便的将一个日期对象按照格式的要求输出为字符串。尽管Javascript的Date对象中内置提供了这些输出为字符串的方法,但是这些字符串不是我们来控制格式的,因此如果我们需要我们自己定制的特殊格式,那么又该怎么办呢?

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

弄清楚JavaScript中的function

JavaScript中万恶的function

JavaScript中最有特色而又让你困惑的function算一个了,但OO语言的静态方法都是由类去调用,不能实例化本身的,javascript中由于其特殊性恰好相反。注意这里alertPerson的name属性,如果函数体内没有查找到name则会到原型中去找,如果查找到则会屏蔽原型中的name直接返回其值。

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

一款优秀的JavaScript日历控件

推荐个不粗的日历控件

kimsoft-jscalendar 是一个简洁的avaScript日历控件,可在Java Web 项目,.NET Web 项目中使用。它具有以下特点:小巧,单文件;支持多语言,并可自由扩充(目前支持简体中文,繁体中文,英语美国和英语英国);兼容ie6.0+, firefox1.0+, Opera9,其它浏览器未测试;回显选定的时间,这是很多其它日历控件没有的;Apache license 2.0,商业友好。

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

JavaScript的反射机制介绍

程序在运行时能够获取自身的信息

反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句。这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法)。

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

用任务队列实现人性化的图片轮播

使用一个任务队列解决挫败感

在一步步实现JavaScript图片导航中,用户点击"上一张"或"下一张"需要等待图片完全移到位后,按钮才可以继续使用,在图片移动过程中,用户不能点击按钮,或点击后无任何效果,这就容易让用户产生挫败感,但如果让用户每次点击均即时响应,又会让坐标或状态出现混乱。

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

JavaScript框架应该包含哪些部分

写自己的框架加深对JavaScript的理解

大部分现有的框架都提供了这部分内容,语言扩展应当是以ECMAScript为基础进行的,不应当依赖任何宿主环境,也就是说,作为一个框架的设计者,你应当保证你的语言扩展可以工作在任何宿主环境中,而不是仅仅适合浏览器环境。你必须保证把它放到WScript,SpiderMonkey Shell,Rhino Shell,Adobe ExtendScript Toolkit甚至Flash ActionScript等环境中都能正确的工作。

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

点着元素区域也可以实现拖拽

防止内容被选中

在开发拖动效果时,有一个非常恼人的地方要处理时,就是拖动时,文本被选中蓝色一片,容易造成用户分心,有损用户体验。最近研究CSS3,发现user-select这个东西,终于搞定这问题了。对于不支持的浏览器,我们可以借助它们的一些私有属性与事件,如unselectable,onselectstart。当拖动时,我们把它们绑定在文档对象上就行了。

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

JavaScript回到顶部的效果实现

带有减速效果的回顶部

很多网页在下方都会放置一个“返回顶部”按钮,尤其是页面底部没有导航的网页,这样可以帮助访客重新找到导航或者重温一遍广告(想得真美)。随着近几年来 JavaScript 的应用日渐广泛,滑动效果无处不在,于是我也跟跟风,将返回顶部功能做成了滑动效果。后来为了更贴合物理特征, 改造做成了减速的滑动效果。

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

JavaScript秒杀倒计时效果制作

一个简单的倒计时

JavaScript秒杀倒计时效果制作。现在电子商务红红火火的,什么秒杀,限时什么的,JavaScript的倒计时用得很广泛。下面就来做一个倒计时效果,先来看效果。随便写的代码,还有待改进。

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

最短的IE判定var ie=!-[1,]分析

var ie = !-[1,];

var ie = !-[1,]; 这句代码在IE9之前曾被称为世界上最短的IE判定代码。代码虽短但确包含了不少javascript基础知识在里面。在这个例子中代码执行时会先调用数组的toString()方法 ,执行[1,].toString()在IE6,7,8中将会得到"1,"。然后表达式就变为!-"1,"。再尝试把"1,"转换成数值类型得到NaN ,再对NaN取负得到值仍为NaN。最后执行!NaN返回true。

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

帮助理解this用法的几个例子

JavaScript中this的用法

真正去解释this这个东西的时候,才发现不是这么简单,花了一些时间,写了几个小demo,让我们来一探究竟。恩,以人为镜,可知得失,看来这句话是很有道理的。如果是一个全局的function,则this相当于window对象,在function里定义的各种属性或者方法可以在function外部访问到,前提是这个function需要被调用。

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

用setInterval调用类方法的问题

由于JS灵活的this指针重绑定导致的

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。近日在编写程序时发现调用setInterval传入的方法时,在程序间隔调用时无法获取正确的类方法。

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

splice()数组元素的插入删除与替换

简单的数组元素操作方法介绍

面试的时候如果主考官让你使用JavaScript来实现对数组元素进行插入、删除、替换操作。如果不知道Array.prototype.splice的使用的方法那很有可能就要被扣分了。使用javascript数组类型内置的splice方法仅需一行代码即可轻松实现对数组元素进行插入、删除、替换操作。

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

遍历json获得数据的几种方法

如何解析Json返回的数据

Json在Web开发的用处非常广泛,作为数据传递的载体,如何解析Json返回的数据是非常常用的。下面介绍下四种解析Json的方式。countryObj 为value对象的一个属性明,value[countryObj] 为value对象的属性值 这里为一个json对象比如b,value[countryObj][cityObj]为josn对象b的属性值 它也是一个json对象。

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

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

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