转载自: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. NoSQL数据建模技术

    原文来自“NoSQL Data Modeling Techniques”,由酷壳网陈皓编译<NoSQL数据建模技术>.这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉.我的感觉是 ...

  2. gamma

    图:显卡(驱动程序)上的Gamma设置 图:ACDSEE中的曝光调节 二. 什么是Gamma? 2.1. 显示器Gamma曲线 Gamma可能源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压 ...

  3. <hdu - 1600 - 1601> Leftmost Digit && Rightmost Digit 数学方法求取大位数单位数字

    1060 - Leftmost Digit 1601 - Rightmost Digit 1060题意很简单,求n的n次方的值的最高位数,我们首先设一个数为a,则可以建立一个等式为n^n = a * ...

  4. Unity3DGUI:Window

    #pragma strictvar winRect:Rect=Rect(30,100,150,200);var windowShow:boolean=true;function OnGUI () { ...

  5. MVC之联动学习

    一,数据库表设计 CREATE TABLE [dbo].[HY_Province]( [id] [INT] NOT NULL, [province] [NVARCHAR]() NOT NULL, CO ...

  6. C# 压缩打包文件下载

    C# 压缩打包文件下载 public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform { #region INam ...

  7. Python学习笔记——基础篇【第六周】——shutil模块

    常用模块之shutil 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,可以部分内容 def c ...

  8. MyEclipse2014拷贝web工程

    z哎myeclipse2014中,复制web项目 Ctrl+C复制原项目Ctrl+V粘贴并输入新的项目名称项目名 ---> 右键 ---> propertes ---> MyEcli ...

  9. Java定时任务器

    java定时任务,每天定时执行任务.以下是这个例子的全部代码. public class TimerManager { //时间间隔 private static final long PERIOD_ ...

  10. H264中的MapUnits

    1 MapUnits 在FMO(Flexible Macroblock ordering)时,从宏块到条带组的映射是以MapUnits为基本单位,MapUnits可能为宏块,也可能是上下两个宏块(见下 ...