找到相关内容 200
字符串连接类(Javascript)
最近在看一同事写的代码时,有一个字符串用了一堆“+”号,看了半天没明天到底会输出什么样的内容, 就想到用字符串连接的类,把以前的方法写成了类的方式,方便调用 , 支持实例调用 和静态调用参数可以是单独的字符串,或者json的格式,或者类似参数数组的方式,见下面示例   /*  * @author: uedsky  
http://cyqdata.com/cnblogs/article-detail-35742 
[原创]祝贺《JavaScript 秘密花园》中文翻译被官方正式采纳 - setInterval 纠错
祝贺《JavaScript 秘密花园》中文翻译被官方正式采纳,大家以后可以随时通过官方网站浏览:http://bonsaiden.github.com/JavaScript-Garden/zh/ 由于这是一个不断更新的文档,如果有新的更新或者纠错我会及时更新中文翻译。 这篇文章的起因是有网友提的 Issue: https://github.com/BonsaiDen/JavaScript
http://cyqdata.com/cnblogs/article-detail-35729 
写了10年Javascript未必全了解的连续赋值运算
很喜欢 蔡蔡 的这个标题,实际蔡蔡已经分析过了,这里借用了。或许有点标题党的意思。看完就知了。 一、引子 var a = {n:1}; a.x = a = {n:2}; alert(a.x); // --> undefined 这是蔡蔡在看 jQuery源码 时发现这种写法的。以上第二句 a.x = a = {n:2} 是一个连续赋值表达式。这个连续赋值表达式在引擎内部究竟发生了什么
http://cyqdata.com/cnblogs/article-detail-35532 
[翻译]JavaScript秘密花园 - Type Casting,undefined,eval,setTimeout,Auto Semicolon Insertion - 全部完成PDF打包下载
JavaScript Garden - 原文 JavaScript Garden - 中文翻译 PDF打包下载 类型转换 JavaScript 是弱类型语言,所以会在任何可能的情况下应用强制类型转换。 // 下面的比较结果是:truenew Number(10) == 10; // Number.toString() 返回的字符串被再次转换为数字10 == '10';    
http://cyqdata.com/cnblogs/article-detail-35503 
[翻译]JavaScript秘密花园 - Array, Array Constructor, for in loop, typeof, instanceOf
JavaScript Garden - 原文 JavaScript Garden - 中文翻译 数组遍历与属性 虽然在 JavaScript 中数组是是对象,但是没有好的理由去使用 `for in` 循环 遍历数组。 相反,有一些好的理由不去使用 for in 遍历数组。 注意: JavaScript 中数组不是 关联数组。 JavaScript 中只有对象 来管理键值的对应关系。但是关
http://cyqdata.com/cnblogs/article-detail-35436 
JavaScript子类用Object.getPrototypeOf去调用父类方法
每个function有个prototype属性,称为原型。每个对象也有个原型,IE9/Firefox/Safari/Chrome/Opera 中可以通过__proto__来访问,IE6/7/8中没有提供相关接口。 function Person(){ this.method1 = function(){} } Person.prototype.method2 = function(){} f
http://cyqdata.com/cnblogs/article-detail-35350 
[翻译]JavaScript秘密花园 - scope, namespace, constructor, equality and comparisons
JavaScript Garden - 原文 JavaScript Garden - 中文翻译 作用域与命名空间 尽管 JavaScript 支持一对花括号创建的代码段,但是并不支持块级作用域; 而仅仅支持 函数作用域。 function test() { // 一个作用域    for(var i = 0; i < 10; i++) { // 不是一个作用域&nb
http://cyqdata.com/cnblogs/article-detail-35326 
SquishIt——JavaScript、CSS压缩器
    一段事件木有更新博客了,主要是这段时间工作略忙,业余时间又在帮个朋友做个小东西,于是也就没去接触新东西。今天上网的时候一个老同事(我刚出来工作时的师傅^_^)发来个网址,说是有好东西叫我看,于是看了一下,果然发现了好东西,也解决了之前我在思考的一个小问题。是一个C#.NET的组件来的,由于资料是E文的,按照惯例似懂非懂地看完然后写点测试DEMO。这篇文章记录一
http://cyqdata.com/cnblogs/article-detail-35241 
如何在JavaScript中处理大量数据
在之前的文章中,我们讲了浏览器对于JavaScript代码执行的限制和基于计时器的伪线程机制。这里,我们再看看如何在JavaScript中处理大量数据。 在几年之前,开发人员不会去考虑在服务端之外处理大量的数据。现在这种观念已经改变了,很多Ajax程序需要在客户端和服务器端传输大量的数据。此外,更新DOM节点的处理在浏览器端来看也是一个很耗时的工作。而且,需要对这些信息进行分析处理的时候也很可能导
http://cyqdata.com/cnblogs/article-detail-35195 
JavaScript 小游戏 - 颜色识别,是男人就玩到100分!(附源码)
女朋友手机上的一个游戏,尝试着用JavaScript 把它实现了,UI 粗糙了点。。。 自己玩了很多遍,终于破百了,这证明了什么?哈哈,你懂的。大家也试试啊~ 分数:0 开始!  颜色识别小游戏 游戏开始后,下面的线框中会相继出现一些表示颜色的英文单词,当其意思与字体颜色一致时,请按向“左”方向键,否则请
http://cyqdata.com/cnblogs/article-detail-35193 
JavaScript中的隐式类型转换
如果把通过函数或方法调用,明确的将某种类型转换成另一种类型称为显示转换 ,相反则称为隐式类型转换 。google和维基百科中没有找到“显示类型转换”,“隐式类型转换”的字眼。暂且这么称呼。 一、 运算中存在的隐式类型转换 1, “+”运算符 var a = 11, b = '22'; var c = a + b; 这里
http://cyqdata.com/cnblogs/article-detail-35090 
javascript 异步编程2
好像有这么一句名言——"每一个优雅的接口,背后都有一个龌龊的实现"。最明显的例子,jQuery。之所以弄得这么复杂,因为它本来就是那复杂。虽然有些实现相对简明些,那是它们的兼容程度去不了那个地步。当然,世上总有例外,比如mootools,但暴露到我们眼前的接口,又不知到底是那个父类的东西,结构清晰但不明撩。我之所以说这样的话,因为异步列队真的很复杂,但我会尽可能让API简单易用。无new实例化,不
http://cyqdata.com/cnblogs/article-detail-35089 
JavaScript函数参数的可修改性
一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。1,直接修改函数声明时的形参 function f1(a) { alert(a); a = 1;//修改形参a alert(1 === a); alert(1 === arguments[0]); } f1(10); 函数f1定义了参数a,调用时传参数10,先弹出10,修改a为1,弹出两
http://cyqdata.com/cnblogs/article-detail-35063 
一个简单的JavaScript库及Demo
这个辅助函数库是《Beginning JavaScript with DOM Scripting and Ajax》一书中的示例,不过却是出自作者Christian Heilmann这位大师之手,我想很值得我们这些新手学习。>下载点击这里<   下面的node指的是文档节点,一般通过document.getElementsByTagName之类的方法获得;txt指字符串;
http://cyqdata.com/cnblogs/article-detail-34972 
[翻译]JavaScript秘密花园 - hasOwnProperty,Functions,this
JavaScript Garden - 原文 JavaScript Garden - 中文翻译 hasOwnProperty 为了判断一个对象是否包含自定义属性而不是原型链上的属性, 我们需要使用继承自 Object.prototype 的 hasOwnProperty 方法。 注意: 通过判断一个属性是否 undefined 是不够的。 因为一个属性可能确实存在,只不过它的值被设置为
http://cyqdata.com/cnblogs/article-detail-32741 
javascript 异步编程
这可能是个比较深的话题。何谓异步? 笼统地说,异步在javascript就是延时执行。严格来说,javascript中的异步编程能力都是由BOM与DOM提供的,如setTimeout,XMLHttpRequest,还有DOM的事件机制,还有HTML5新增加的webwork, postMessage,等等很多。这些东西都有一个共同的特点,就是拥有一个回调函数,实现控制反转。由于控制反转是更深奥的问题
http://cyqdata.com/cnblogs/article-detail-32626 
JavaScript中同名标识符优先级
一,局部变量先使用后声明,不影响外部同名变量 var x = 1; // --> 外部变量x function fn(){ alert(x); // --> undefined 局部变量x先使用 var x = 2; // 后声明且赋值 } fn(); alert(x); // --> 1 第一点,函数fn内第一句输出x,x是在第二句才定义的。这在JS中是允许的,这里的
http://cyqdata.com/cnblogs/article-detail-32559 
JavaScript继承方式(4)
4,继承工具函数四 /** * @param {String} className * @param {String/Function} superClass * @param {Function} classImp */ function $class(className, superClass, classImp){ if(superClass === "") superClass
http://cyqdata.com/cnblogs/article-detail-32452 
JavaScript继承方式(3)
3,继承工具函数三 /** * @param {Function} subCls * @param {Function} superCls */ function extend(subCls,superCls) { subCls.prototype = new superCls(); } 父类,按原型方式写,即属性和方法都挂在原型上。 /** * 父类Person */
http://cyqdata.com/cnblogs/article-detail-32432 
JavaScript继承方式(2)
这篇开始写几个工具函数实现类的扩展。每个工具函数都是针对特定的写类方式(习惯)。这篇按照构造函数方式写类:属性(字段)和方法都挂在this上。以下分别提供了个类,分别作为父类和子类。 // 父类Person function Person(nationality) { this.nationality = nationality; this.setNationality = functi
http://cyqdata.com/cnblogs/article-detail-32425