一个艰难的决定    云渺 2010.11.08
9月27日   360推出个人隐私保护器,专门曝光“窥私”软件, 直指QQ。9月28日   腾讯称360浏览器涉嫌借色情网站推广10月14日   腾讯正式起诉360不正当竞争10月28日   360弹窗指责马化腾享受经适房补贴10月29日   ...
?
世界 浏览器 使用统计
中国 浏览器 使用统计
中国 手机浏览器 使用统计
世界 搜索引擎 使用统计
http://gs.statcounter.com/
单例是一个只能被实例化一次并且可以通过一           ?个众所周知的访问点访问的类。public class Singleton {  private static Singleton uniqueInstance = null; //...
?JavaScript单例是一个用来划分命名空间并将一批  相关方法和属性组织在一起的对象// 最简单的单例var Singleton = {   attribute1: true,   attribute2: 12,   method1: f...
划分命名空间:                      ?Ext = { }; //全局//防止全局变量污染、使代码组织有序合理Ext.util = { };Ext.lib = { };Ext.util.JSON = { };Ext.util...
网页专用代码的包装器                               ?Namespace.pageName = {  // page contants.  CONSTANT_1: true,  CONSTANT_2: true, ...
拥有私有成员的单例(下划线表示法)                                   ?GiantCorp.DataParser = {    // Private methods.    _stripWhitespace: ...
拥有私有成员的单例(使用闭包)                          ?MyNameSpace.Singleton = (function(){   // Private members.   var privateAttribut...
惰性实例化MyNameSpace.Singleton = (function(){         return {                                                   getInstance: ...
Thanks!
Banquet 47
Upcoming SlideShare
Loading in...5
×

Banquet 47

504

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
504
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Banquet 47

  1. 1. 一个艰难的决定 云渺 2010.11.08
  2. 2. 9月27日 360推出个人隐私保护器,专门曝光“窥私”软件, 直指QQ。9月28日 腾讯称360浏览器涉嫌借色情网站推广10月14日 腾讯正式起诉360不正当竞争10月28日 360弹窗指责马化腾享受经适房补贴10月29日 360推扣扣保镖 称让QQ安全快速更好用 11月3日 腾讯决定在装有360软件的电脑上将不能使用QQ。对此360推出360 Web QQ客户端,但旋即被腾讯以关闭Web QQ服务的方式回击。11月4日 360要求腾讯向6亿QQ注册用户道歉11月5日 金山、傲游、可牛、百度、搜狗五厂商今日在北京召开联合发布会,宣布将不兼容360系列软件。
  3. 3.
  4. 4. 世界 浏览器 使用统计
  5. 5. 中国 浏览器 使用统计
  6. 6. 中国 手机浏览器 使用统计
  7. 7. 世界 搜索引擎 使用统计
  8. 8. http://gs.statcounter.com/
  9. 9. 单例是一个只能被实例化一次并且可以通过一 ?个众所周知的访问点访问的类。public class Singleton { private static Singleton uniqueInstance = null; //标识 private Singleton(){ } //构造函数 public static Singleton getInstance() { if (uniqueInstance == null){ uniqueInstance = new Singleton (); } return uniqueInstance; }}Singleton. getInstance(); //获取单例
  10. 10. ?JavaScript单例是一个用来划分命名空间并将一批 相关方法和属性组织在一起的对象// 最简单的单例var Singleton = { attribute1: true, attribute2: 12, method1: function(){ … }, method1: function(){ … }}
  11. 11. 划分命名空间: ?Ext = { }; //全局//防止全局变量污染、使代码组织有序合理Ext.util = { };Ext.lib = { };Ext.util.JSON = { };Ext.util.Observable = { };Ext.util.TaskRunner = { };
  12. 12. 网页专用代码的包装器 ?Namespace.pageName = { // page contants. CONSTANT_1: true, CONSTANT_2: true, // page methods. method1: function(){ … }, method2: function(){ … }, // Initializtion method. init: function(){ … }}addLoadEvent(Namespace.pageName.init);
  13. 13. 拥有私有成员的单例(下划线表示法) ?GiantCorp.DataParser = { // Private methods. _stripWhitespace: function (str){ return str.replace(/s+/, ‘’); }, _stringSplit: function (str, delimiter){ return str.split(delimiter); } // Public method. stringToArray: function(str, delimiter, stripWS){ … }}
  14. 14. 拥有私有成员的单例(使用闭包) ?MyNameSpace.Singleton = (function(){ // Private members. var privateAttribute1 = false; function privateMethod1(){ … } return { // Public members. publicAttribute1: 10, publicMethod1: function(){ … } }})();
  15. 15. 惰性实例化MyNameSpace.Singleton = (function(){ return { getInstance: function(){ var uniqueInstance; if(!uniqueInstance){ uniqueInstance = constructor(); function constructor(){ } // Private members. return uniqueInstance; var privateAttribute1 = false; } function privateMethod1(){ } … } })(); return { // Public members. atttibute1: 10, method1: function(){ … } } } MyNameSpace.Singleton.getInstance().method1();
  16. 16. Thanks!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×