转载自:http://www.cnblogs.com/baochuan/archive/2012/04/30/2473771.html

 介绍
 
老是在写js,你平时是怎么写你的js呢?更喜欢哪种方式呢?
 
今天就把常见的跟大家唠叨唠叨。——年纪大了,就这一爱好(平时也喜欢说胡话),别闲我烦!

 
 直接初始化法
 

优点:

1、userData本身就是对象实例。——上来就实例化一个类出来,也不怕浏览器受不了。

2、代码紧凑。

3、编程效率高。

缺点:

1、代码的重用性比较差。

2、不符合面向对象的编程思路。——设计模式这种玩意,经常是在类上,弄来弄去。这种直接在对象上使用,够呛!

总结:应避免使用该方法创建自定义对象。

使用案例: QQ迷你弹窗

 构造函数法
 

使用方法:需要使用“new 和 构造函数”创建实例。

优点:

只有new的时候,才分配内存。如果不new,浏览器一辈子都不会给你内存资源的。——想要就要,不想要就不理她!

 Object表达式法
 
类似于第一种”直接初始化法“。——其实是一种变种。

上面那一坨红色标出来的部分,让人看着眼晕。——这代码让谁看了,估计都要狂吐血!

 匿名函数法
 

这个是我经常用的,你看这代码,用两字形容,“漂亮”,再给两字,“相当漂亮”

上面那个是我经常用的,我在项目中写了一堆的扩展,用这玩意,层次感非常强。

案例:jQuery

 总结
 
我在平时写js代码时候,喜欢自己写,不太喜欢使用现在网上的框架。——一是比较熟悉自己的代码(别人问我,我都知道里面都是什么东东),二是自己的框架更适合现有的项目。
 
但是平时我也比较关注这些框架,一般是看看这些框架是怎么写的,然后在写自己项目的时候,会放进去一些。
 
大家在平时写js代码的时候更喜欢以上哪种方式,或者你们是不是有更好的方式呢?不妨告知一二。
 
 推荐
 
如果这文章对你有所帮助,请推荐一把,给哥们写作的动力。

【转载】javascript 杂谈之哪种写法你更喜欢?的更多相关文章

  1. javascript函数的几种写法集合

    1.常规写法 function fnName(){ console.log("常规写法"); } 2.匿名函数,函数保存到变量里 var myfn = function(){ co ...

  2. Javascript函数的几种写法

    最近在看某个插件的源码时,总是看到各种不同风格的js函数的写法.(怪我只是初级水平,看的一头雾水) 于是想找点资料,总结总结,心里不清不楚的总是很别扭! 1.常规写法 // 函数写法 function ...

  3. [转载]javascript创建对象的几种方式

    原文链接:http://qingfeng825.iteye.com/blog/1935648 1. 工厂方法:能创建并返回特定类型对象的工厂函数(factory function). function ...

  4. 常见浏览器的宽高代码写法!有原生JavaScript和jquery两种写法-------------------------------以及我的个人网站

    我的个人网站 点击链接!欢迎大家访问 下面是网页一些常见的宽高的获取.........这是原生的写法(JavaScript) 网页可见区域宽: document.body.clientWidth 网页 ...

  5. 委托的N种写法,你喜欢哪种?

    一.委托调用方式 1. 最原始版本: delegate string PlusStringHandle(string x, string y); class Program { static void ...

  6. (转)委托的N种写法,你喜欢哪种?

    原文:http://www.cnblogs.com/FreeDong/archive/2013/07/31/3227638.html 一.委托调用方式 1. 最原始版本: delegate strin ...

  7. 【转】委托的N种写法,你喜欢哪种?

    一.委托调用方式 1. 最原始版本: delegate string PlusStringHandle(string x, string y); class Program { static void ...

  8. 全面理解Javascript闭包和闭包的几种写法及用途

    好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途.  一.什么 ...

  9. 转载 Javascript继承两种形式详解

    一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面.这里仅仅是把自己的学习体会拿出来分 ...

随机推荐

  1. 开子线程下载图片,回到主线程刷新UI步骤

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [NSThread detachN ...

  2. private static

    static: 静态成员,不能实例化,在你运行的时候他自己在内存中开辟了块空间,不用new, 有点像全局变量 private static  和  public static 都是静态变量,在类加载时 ...

  3. 回家(洛谷 P1592)

    模板题.. 传送门:codevs 1079 思路 :以 Z 为起点 直接跑一边SPFA , 看哪一头母牛距离Z点最近 , 最后找出Z 到 A~Y 的最短路 (因为仅有A~Z有奶牛) #include ...

  4. find指令

    1.命令格式 find path -options [-print -exec -ok ...] 2.命令功能 查找文件,并作出相应处理 3.命令参数

  5. nodejs中express安装失败解决方法

    http://jingyan.baidu.com/article/922554468a3466851648f419.html

  6. 微信js-sdk调用

    之前在做微信的时候,在微信支付还有调起微信扫一扫的时候,用过js-sdk.最近,被几个做前端的同学问到了具体的流程,想想,还是写下来好点.     微信js-sdk,是微信提供给网页开发设计者使用的, ...

  7. java.lang.IllegalArgumentException: View not attached to window manager

    公司项目线上bug: java.lang.IllegalArgumentException: View not attached to window manager at android.view.W ...

  8. live555—VS2010/VS2013 下live555编译、使用及测试(转载)

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...

  9. ora2pg数据迁移

    1.安装strawberry-perl-5.242.安装ora2pg-17.4 #perl Makefile.PL #dmake && dmake install3.安装ora2pg相 ...

  10. CVE-2015-0057 POC构造 & 利用分析(2015.7)

    CVE-2015-0057 POC构造 & 利用分析 主要内容: 构造POC 利用思路 0x00 初探 从这篇文章可以获知: 1.问题出在 win32k!xxxEnableWndSBArrow ...