Javascript
文章平均质量分 80
sanshi_zhang
专注于前端(JavaScript、jQuery、ExtJS)
展开
-
Prototype/Constructor that i have known
In my opinion, there are two big things in Javascript's world - Closure and Prototype.Question 1. What does Prototype do in JavaScript?In a single word, it's a feature that aimed at reducing code原创 2013-06-24 11:27:07 · 480 阅读 · 0 评论 -
Confused with JavaScript prototype
They are two similar code below:1.function User(name) {this.name = name;}User.prototype = { 'sex': 'man' };var user = new User('Zhang');alert(User.prototype['sex']); // manalert(user.constructor.p原创 2013-06-24 11:26:58 · 605 阅读 · 0 评论 -
Javascript中创建字符串的new语法和literal语法
在Javascript中声明一个字符串,我们可以方便的使用literal(字面)语法:var str1 = 'Hello Javascript!';var str2 = "Hello World!"; 由于在Javascript中,任何事物都是对象,所以我们也可以使用new语法创建:Code highlighting produced by Actipro CodeHighligh原创 2013-06-24 11:26:44 · 843 阅读 · 0 评论 -
[原创][开源]跨浏览器的JavaScript性能检测工具 - 至于你信不信,我反正信了
提出问题如果识别出页面中JavaScript函数的性能问题,在不同浏览器下有不同的测试工具:Firefox下使用Firebug的Profile工具Chrome下使用内置的Profile工具IE9下也有Profile工具虽然大家的功能一个比一个炫,但是始终解决不了两个问题:如何只检测指定命名空间下的函数性能,否则会产生大堆的无用原创 2013-06-24 11:32:50 · 704 阅读 · 0 评论 -
[翻译]JavaScript秘密花园 - scope, namespace, constructor, equality and comparisons
JavaScript Garden - 原文JavaScript Garden - 中文翻译作用域与命名空间尽管 JavaScript 支持一对花括号创建的代码段,但是并不支持块级作用域;而仅仅支持 函数作用域。function test() { // 一个作用域 for(var i = 0; i 10; i++) { // 不是一个作用域 /原创 2013-06-24 11:32:27 · 698 阅读 · 0 评论 -
[原创]使用 NodeJS, MarkdownJS, PrettifyJS 打造个人博客写作平台 - 整体思路
引言最近博客更新比较频繁,尝试了几种不同的写作方式,总结如下:第一种很简单了,直接使用博客园的在线编辑器。 优点是方便快捷,适合写些篇幅不大的随笔。 由于我经常更新的文章比较长,有时间需要花一两个小时来写作,经常会出现 Session 超时而丢失数据的情况。使用 Word 写作,这个可以方便的插入图片,进行排版。 但是缺点也很明显,保存的 html 源代码里面有太多垃圾数据,并且放原创 2013-06-24 11:32:20 · 783 阅读 · 0 评论 -
[翻译]JavaScript秘密花园 - Object, Prototype
简介(Intro)JavaScript秘密花园是一个不断更新的文档,主要关心JavaScript一些古怪用法。对于如何避免常见的错误,难以发现的问题,以及性能问题和不好的实践给出建议,初学者可以籍此深入了解JavaScript的语言特性。JavaScript秘密花园不是用来教你JavaScript。为了更好的理解这篇文章的内容,你需要事先学习JavaScript的基础知识。原创 2013-06-24 11:32:15 · 639 阅读 · 0 评论 -
[原创]如何确保JavaScript的执行顺序 – 之jQuery.html并非万能钥匙
上一篇:[原创]如何确保JavaScript的执行顺序 – 之jQuery.html深度分析1. 引言在上一篇文章《如何确保JavaScript的执行顺序 - 之jQuery.html深度分析》中,我们揭示了jQuery.html函数之所以能在各种浏览器下保持动态JS顺序执行,其秘密在于 – 同步AJAX获取外部JavaScript。 我们先来简原创 2013-06-24 11:32:06 · 626 阅读 · 0 评论 -
[原创]JSLint-Toolkit v1.2 - Update with qooxdoo1.3
http://code.google.com/p/jslint-toolkit/ 主要是修正一些UI方面的BUG,以及增加两种浏览方式,横排和竖列。原创 2013-06-24 11:31:43 · 704 阅读 · 0 评论 -
JavaScript继承详解(六)
文章截图 - 更好的排版 在本章中,我们将分析Prototypejs中关于JavaScript继承的实现。 Prototypejs是最早的JavaScript类库,可以说是JavaScript类库的鼻祖。 我在几年前接触的第一个JavaScript类库就是这位,因此Prototypejs有着广泛的群众基础。原创 2013-06-24 11:28:55 · 457 阅读 · 0 评论 -
Optimizing JavaScript Code - 1
There is an excellent article named Optimizing JavaScript Code. The authors are software engineers on Gmailand Google chrome.I appreciate the knowledge described in this article and try to repeat it原创 2013-06-24 11:28:35 · 463 阅读 · 0 评论 -
JavaScript tips and tricks - 2
Always specify the second argument - parseIntparseInt converts a string to an int number, the syntax is:parseInt(str, [radix])The second argument is optional, which specify the radix of the first原创 2013-06-24 11:27:22 · 484 阅读 · 0 评论 -
[原创]JavaScript继承详解
面向对象与基于对象几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。 类定义了一类事物公共的行为和方法;而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对原创 2013-06-24 11:28:39 · 447 阅读 · 0 评论 -
[原创]祝贺《JavaScript 秘密花园》中文翻译被官方正式采纳
祝贺《JavaScript 秘密花园》中文翻译被官方正式采纳,大家以后可以随时通过官方网站浏览:http://bonsaiden.github.com/JavaScript-Garden/zh/由于这是一个不断更新的文档,如果有新的更新或者纠错我会及时更新中文翻译。这篇文章的起因是有网友提的 Issue: https://github.com/BonsaiDen/JavaScript-Ga原创 2013-06-24 11:32:34 · 1540 阅读 · 0 评论 -
[翻译]JavaScript秘密花园 - Type Casting,undefined,eval,setTimeout,Auto Semicolon Insertion - 全部完成PDF打包下载
JavaScript Garden - 原文JavaScript Garden - 中文翻译PDF打包下载类型转换JavaScript 是弱类型语言,所以会在任何可能的情况下应用强制类型转换。// 下面的比较结果是:truenew Number(10) == 10; // Number.toString() 返回的字符串被再次转换为数字10 == '10';原创 2013-06-24 11:32:31 · 1003 阅读 · 0 评论 -
[翻译]JavaScript秘密花园 - hasOwnProperty,Functions,this
JavaScript Garden - 原文JavaScript Garden - 中文翻译hasOwnProperty为了判断一个对象是否包含自定义属性而不是原型链上的属性, 我们需要使用继承自 Object.prototype 的 hasOwnProperty 方法。注意: 通过判断一个属性是否 undefined 是不够的。 因为一个属性可能确实存在,只不原创 2013-06-24 11:32:17 · 571 阅读 · 0 评论 -
[翻译]在jQuery 1.5中使用deferred对象
.postCon h2 {font-size: 150%;font-weight: bold;margin: 15px auto 2px;}原文:http://www.erichynds.com/jquery/using-deferreds-in-jquery/翻译:三生石上(http://cnblogs.com/sanshi/) 译者注:1. De原创 2013-06-24 11:32:11 · 581 阅读 · 0 评论 -
[原创]如何确保JavaScript的执行顺序 – 之jQuery.html深度分析
上一篇:[原创]如何确保JavaScript的执行顺序 – 之实战篇1. 引言在上一篇文章《如何确保JavaScript的执行顺序 - 之实战篇》中,我们发现jQuery的html函数能够确保动态加载的JavaScript按照引入顺序执行。 我们先来简单回顾下HTML源代码(test2.htm): $(原创 2013-06-24 11:32:04 · 616 阅读 · 0 评论 -
如何在多个页面使用同一个HTML片段《续》
上一篇文章中我们使用textarea来模拟AJAX的返回结果,造成了一些误解。 这里我们首先用asp.net的Generic Handler做一个简单的后台来重现这个AJAX过程。 1. HTML页面: $(function() { $("#clickToInsert").click(function() {原创 2013-06-24 11:29:36 · 800 阅读 · 0 评论 -
如何在多个页面使用同一个HTML片段
文章截图 - 更好的排版下载源代码问题描述 有一个比较复杂的HTML片段(A),如果把这个HTML片段嵌入到其他页面中(B,C,D....)。 问题的关键是在HTML片段中有大量的JavaScript逻辑需要处理,比如说分页,点击事件响应等。 对于这个问题,我们用一个简单的例子来说明: “页面上有一个按钮,点击此按钮引入一个HTML片段,此HTML片段中有分页按钮。” 1. 使用IFrame 主页原创 2013-06-24 11:29:27 · 1252 阅读 · 0 评论 -
怪异的IE - 2
文章截图 - 更好的排版源代码下载问题描述 前两天遇到这样的需求,动态的向页面添加CSS样式,是内联的样式而不是外部CSS文件。 和往常一样,我写下了下面的代码: function addCSS(content) { $("").attr("type", "text/css").html(content).appendTo("head"); } $(f原创 2013-06-24 11:29:25 · 485 阅读 · 0 评论 -
JavaScript继承详解(三)
文章截图 - 更好的排版 在第一章中,我们使用构造函数和原型的方式在JavaScript的世界中实现了类和继承, 但是存在很多问题。这一章我们将会逐一分析这些问题,并给出解决方案。 注:本章中的jClass的实现参考了Simple JavaScript Inheritance的做法。首先让我们来回顾一下第一章中介绍的例子: fun原创 2013-06-24 11:28:46 · 467 阅读 · 0 评论 -
奇怪-正则匹配的test函数
在John Resig 那篇关于在JavaScript中实现简单继承的文章中,有这样一段代码:var fnTest = /xyz/.test(function(){xyz;}) ? /b_superb/ : /.*/;对于其中正则表达式匹配函数test的用法,我很是迷惑:/xyz/.test(function(){xyz;})我查阅了Mozilla developer center原创 2013-06-24 11:28:44 · 774 阅读 · 0 评论 -
What is a valid JSON string?
In my last article, i use a JSON tool to parse a JSON string, but there will be a JavaScript error:{ cred: "6B30E9A9E716C370E040E00A193871B8" }var initParameters = JSON.parse(this.element.原创 2013-06-24 11:28:17 · 919 阅读 · 0 评论 -
JavaScript tips and tricks - 4
JavaScript doesn’t have block scopeBlock doesn’t have scope in javascript, only function has scope.for(var i = 0; i < 2; i ++) { } i; // 2If you want to create scope, use anonymous functi原创 2013-06-24 11:27:27 · 478 阅读 · 0 评论 -
Regular Expression in JavaScript
Regular Expression are very important in professional JavaScript.There is a wonderful resource in Mozilla developer center.Two ways to construct a regular expression 1. Literal expression re =原创 2013-06-24 11:28:26 · 567 阅读 · 0 评论 -
Javascript中的事件冒泡
这是一个基础性的文章,使用Javascript观察DOM中的事件冒泡机制,并介绍如何阻止默认行为和如何组织事件冒泡的方法。1. 第一个例子可以在Firefox下运行Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->div id="containe原创 2013-06-24 11:26:53 · 530 阅读 · 0 评论 -
Javascript限制多行文本输入框的字符数
对于单行文本框,我们可以通过设置属性maxlength来限制可输入的最多字符数:input type="text" maxlength="5" />对于多行文本框,如果想限制最多可输入字符数,必须使用Javascript脚本来达到目的。 1. 最初的解决方案:textarea rows="4" cols="20" onkeydown="return maxlen原创 2013-06-24 11:26:46 · 1156 阅读 · 0 评论 -
[原创]22行JavaScript代码实现QQ群成员提取器,绿色、环保、无病毒!
原来想给QQ群内的成员发邮件,找了一个现成的软件,没想到居然有QQ盗号病毒,很不爽。就决定自己动手,丰衣足食。 首先,我想到如果能够直接从QQ群成员列表中把所有成员拷贝出来,岂不是很方便。不过QQ明显意识到了这一点。 于是打开网页版的QQ群,这里面总有成员列表吧。在页面上,只能能看到的东西,就没有JavaScript程序员拿不到的东西。 下面给出具体的操作步骤: 1. 打开一个QQ群的通讯录页面。原创 2013-06-24 11:34:49 · 1102 阅读 · 0 评论 -
[原创]使用 NodeJS, MarkdownJS, PrettifyJS 打造个人博客写作平台 - 打包下载
引言上一篇文章我们介绍了使用 NodeJS, MarkdownJS, PrettifyJS 打造个人博客写作平台的整体思路, 也顺利解决了把 PrettifyJS 转换为 NodeJS 模块的麻烦。这篇文章我们会分析 NodeJS 相关代码,并给出可运行的压缩包下载。在继续本文之前,先来回答上篇评论中网友的疑问,这么做的好处有哪些? 如果我们有 Showdown 这样的在线转换 Markd原创 2013-06-24 11:32:24 · 1102 阅读 · 0 评论 -
JavaScript继承详解(五)
文章截图 - 更好的排版 在本章中,我们将分析John Resig关于JavaScript继承的一个实现 - Simple JavaScript Inheritance。 John Resig作为jQuery的创始人而声名在外。是《Pro JavaScript Techniques》的作者,而且Resig将会在今年秋天推出一本书《JavaScript Secrets》,非常期待。 调用原创 2013-06-24 11:28:51 · 507 阅读 · 0 评论 -
JavaScript继承详解(二)
文章截图 - 更好的排版 这一章我们将会重点介绍JavaScript中几个重要的属性(this、constructor、prototype), 这些属性对于我们理解如何实现JavaScript中的类和继承起着至关重要的作用。 thisthis表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函原创 2013-06-24 11:28:42 · 433 阅读 · 0 评论 -
JavaScript tips and tricks - 5
Fast string concatenationWe always use + to concatenate small strings into a large one, which is considered to be a good practice.But there will be a major hit on performance if you do many string con原创 2013-06-24 11:27:29 · 489 阅读 · 0 评论 -
JavaScript tips and tricks - 3
Is undefined a reserved wordIt seems like so, but actually it doesn’t.var undefined = 'Hello'; undefined; // 'Hello'This may surprise you, but it does work well. undefined is just a pre-defi原创 2013-06-24 11:27:25 · 491 阅读 · 0 评论 -
Multiline strings in JavaScript
I used to write multiline strings in JavaScript like this:var str = 'This is ' +'a very long ' +'sentence.'Sometimes, i wrote it this way:var str = ['This is ','a very long ','sentence.'].join('')原创 2013-06-24 11:27:00 · 571 阅读 · 0 评论 -
Function in loop and closure
This article describe the famious issue “function in loop and closure” in JavaScript.The root cause is loop statements (such as for, while) don’t have their own scope.Let’s see an example first:原创 2013-06-24 11:28:30 · 581 阅读 · 0 评论 -
Reference and array clone
In JavaScript, object and array are passed by reference.Sometimes you may come into trouble if you don’t keep this in mind, especial inrecursion.Let’s see an example:First, prepare a JavaScript原创 2013-06-24 11:28:33 · 487 阅读 · 0 评论 -
JavaScript tips and tricks - 1
Produce boolean value from other typesAll objects in JavaScript can be converted to boolean implicitly, look at these examples:0 == false; // true1 == true; // true'' == false // truenull == f原创 2013-06-24 11:27:16 · 479 阅读 · 0 评论 -
AOP in JavaScript
AOP stands for Aspect-oriented programming. I think the main point of this technology is the ability to add code before or after a function execution.After some digging on the internet, i write my i原创 2013-06-24 11:27:02 · 559 阅读 · 0 评论 -
Javascript中的作用域(scope)
类 C 语言一般都用于块级作用域,但是Javascript中的 while, if-else, for, switch-case 等控制结构不具有自己的作用域,在Javascript中只有函数(function)具有自己的作用域,请比较如下的 C# 代码和 Javascript 代码:Code highlighting produced by Actipro CodeHighlighter原创 2013-06-24 11:26:56 · 557 阅读 · 0 评论