摘要: 退一步说, JavaScript处理Unicode时有些怪异. 这篇文章会说明JS在Unicode上令人痛苦的部分, 然后提供解决方案, 并说明在未来的ECMAScript6中是如何改善这些问题的.Unicode基础知识为了您能更好的理解Unicode在JavaScript里的问题, 先确保大家了解... 阅读全文
posted @ 2014-05-25 20:52 zhongsp 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 这里是JavaScript核心的内容了. 挺多的JavaScript测试题也是围绕这个出的.这里的一静一动指的是:静, 词法作用域 - Lexical scoping动, 动态绑定this的值一、静在JavaScript中函数有静态的词法作用域. 这是什么意思?当我们写好了代码, 如 lexical.js , 那么此刻, 代码里的各个函数的作用域就已经确定了. 与这个函数是否被调用, 在哪儿调用, 被谁调用无关.作用域大都被说成作用域链, 它是有层级关系的, 从顶层向底层直到全局作用域; 或者说从链头部向尾部延伸, 直到最后面的全局空间Global.Global总在最后.此作用域是函数的一个内 阅读全文
posted @ 2014-03-02 12:35 zhongsp 阅读(428) 评论(1) 推荐(0) 编辑
摘要: 早上开车上班, 发现车快没油了, 于是拐进加油站. 有一辆出租车也在加油..Angular service在一个应用里是以单例形式存在的. 这个单例的实例是由service factory(service工厂)创建的.加油, 就好比是一个 Angular service;不论是我加的油, 还是出租车... 阅读全文
posted @ 2014-05-14 10:27 zhongsp 阅读(1509) 评论(1) 推荐(0) 编辑
摘要: 什么是移动友好的?移动友好到底意味着什么取决于您与谁讨论它. 我们不妨这样理解: 移动友好的设计以表现力,内容和性能三方面为目标来改善用户体验.表现力 -Presentation使网站可以适应各种尺寸大小的屏幕如今, 用户可以通过很多种设备来访问网页, 这些设备可能有不同的屏幕尺寸, 比如: 电话, 平板电脑, 电子阅读器. 不用说, 一个固定宽度的, 3列的布局再加上复杂的JavaScript动画和鼠标悬停效果的网页在手机上显示的时候会有问题, 因为手机有着2英寸(1英寸约为25.4mm)宽的小屏幕和比较弱的处理器. 一个细长线性化的页面布局再加上为触摸屏量身订做(方便不同大小的手指点击.. 阅读全文
posted @ 2013-09-04 16:11 zhongsp 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 这篇文章会分享一些鲜为人知但却很强大的JavaScript技巧, 各个级别的JavaScript开发者都会从中受益.1. 用数组的length属性清空数组我们知道在JS中对象类型是按引用传递的, 有时候我们却会被这个规则所制约. 比如下面的例子:var arr1 = arr2 = [1, 2, 3]; //Change arr1 arr1 = []; // arr2 will still be [1,2,3]arr1和arr2在初始化的时候指向同一个数组 [1, 2, 3] , 之后arr1重新指向 [] , arr2的引用并没有变化, 仍然指向 [1, 2, 3]. 但是如果我们想让a... 阅读全文
posted @ 2013-09-02 15:06 zhongsp 阅读(577) 评论(5) 推荐(1) 编辑
摘要: var createXHR = function() { var xhr, last_e; var PROGIDS = [ "Msxml2.XMLHTTP.6.0", //"Msxml2.XMLHTTP.5.0", // 此版本目的是给MS Office App使用, // Web中用会弹出安全对话框 "Msxml2.XMLHTTP.4.0", // Have issues, a buggy version "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", &quo 阅读全文
posted @ 2013-07-03 16:59 zhongsp 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 此文为计算新浪Weibo的消息长度的方法. 就是 (发言请遵守社区公约,还可以输入119字).var getMessageLength = (function() { var byteLength = function(b) { if(typeof b == "undefined") { return 0; } var a = b.match(/[^\x00-\x80]/g); return(b.length + (!a ? 0 : a.length)); }; return function(message) { message = message || ' 阅读全文
posted @ 2013-07-01 17:18 zhongsp 阅读(335) 评论(1) 推荐(0) 编辑
摘要: 接着上篇(//www.cnblogs.com/patrick-holynova/archive/2013/05/14/3077295.html), 来谈谈在OOP中重要的new运算.JavaScript 不像高级语言C++, Java等本身就提供了对类的支持, 那么在Js中如何实现类, 类的实例?对象字面量用构造器创建对象字面量, 例:Detail = { 'game': 'World of Warcraft', 'class': 'Priest', 'spell': 'Holy Nova'}这种方 阅读全文
posted @ 2013-05-20 11:39 zhongsp 阅读(1805) 评论(7) 推荐(2) 编辑
摘要: 继续上篇(深入JavaScript - 对象, 一切皆对象?)开讲. 建议先阅读它 :)在上一篇中, 主要谈的是 Javascript 内置对象的 prototype 以及 __proto__ 属性.1. Js 引入 prototype 机制来实现属性和方法的共享, 每个构造函数(constructor)在定义时, Js 会为它自动添加 prototype 属性.注意: 上面说的是构造函数, 它是一个函数对象, 是一个 Js 函数... 而非普通对象, 普通对象不会自动添加 prototype 属性!// 我所说的普通对象..Detail = { 'game': 'Wo 阅读全文
posted @ 2013-05-14 10:09 zhongsp 阅读(1456) 评论(0) 推荐(1) 编辑
摘要: 书接上文..JavaScript 设计 prototype 的目的就是为了继承, 所以不要把 prototype 用作其它目的.为什么 JavaScript 使用 prototype 来实现继承呢? 因为 JavaScript 诞生的最初目的是为了实现前端表单验证, 当时的 Internet 太慢了, 传到后台验证等不起. 所以 JavaScript 的作者认为没有必要把继承设计的像 Java 里那样复杂, 就选了用 prototype.Undefined类型: 只有一个值 undefined. 一个变量没有被赋值的时候就是该值.Null类型: 只有一个值 null. 对象的值故意留空的时候为 阅读全文
posted @ 2013-04-28 18:15 zhongsp 阅读(1912) 评论(10) 推荐(1) 编辑