原文出处:http://www.cnblogs.com/wenber/p/3630373.html

1,创造简短的写法

你可以这么写:

1 var slice = Array.prototype.slice;
2 slice.call(arguments); //转化成数组

也可以这么写:(ie9+)

1 var unboundSlice = Array.prototype.slice;
2 var slice = Function.prototype.call.bind(unboundSlice);
3 slice(arguments);//转化成数组

还可以这么写:

1 (function(slice){
2 slice(arguments);
3 })(Array.prototype.slice);

2,原型方法扩展:

你可以这么写:

1 function   A(){};
2 A.prototype.fn1=function(){};
3 A.prototype.fn2=function(){};

也可以这么写:

1 function A(){};
2 A.prototype={
3 fn1:function(){},
4 fn2:function(){}
5 };

还可以这么写:

1 function A(){};
2 $.extend(A.prototype,{
3 fn1:function(){},
4 fn2:function(0{}
5 });

3,返回一个由数组拼合成的字符串

你可以这么写:

1 function A(){
2 var a=[];
3
4 a.push("str1");
5 a.push("str2");
6 a.push("str3");
7
8 return a.join("");
9 };

也可以这么写:

1 function A(){
2 return [
3 "str1",
4 "str2",
5 "str3"
6 ].join("");
7 };

4,逗号表达式

你可以这么写:

1 var   a;
2 var b;
3 var c;

也可以这么写:

1 var  a,b,c;

5,巧用&&

你可以这么写:

1 if(a){
2 b();
3 };//如果a为真,则执行函数b

也可以这么写:

1 a && b();

6,巧用||

你可以这么写:

1 if(!a){
2 c();
3 };//如果a为假,则执行函数c

也可以这么写:

1 !a || c();

7,巧用三元表达式

你可以这么写:

1 if(a){
2 b();
3 }else{
4 c();
5 }//如果a为真,则执行函数b,否则执行函数c;

也可以这么写:

1 a ? b():c();

8,同一个对象上绑定多个事件

你可以这么写:

1 1 $(obj).click(function (){});
2 2 $(obj).focus(function (){});
3 3 $(obj).blur(function (){});

也可以这么写:

1 $(obj).bind({
2 click:function(){},
3 foucus:function(){},
4 blur:function:(){}
5 });

9,缓存对象属性,防止每次都去读取属性

你可以这么写:

1 for(var i =0 ;i < obj.length; i++){};

也可以这么写:

for(var i=0, len=obj.length;  i < len; i++){};

10,数组拼合

你可以这么写:

1 var a=[1,2,3];
2 var b=[4,5,6];
3 var a=a.concat(b);//a=[1,2,3,4,5,6]

也可以这么写:

1 var a=[1,2,3];
2 var b=[4,5,6];
3 a.push.apply(a,b);//a=[1,2,3,4,5,6]

这个地方不能不call哦,apply的参数必须是数组,此处正是利用了这一点!

[JavaScript]转--如何让JS代码高大上的更多相关文章

  1. IOS-网络(网页开发-UIWebView,HTML,CSS,JavaScript,OC和JS代码互调)

    一.网页基础 // // ViewController.m // IOS_0218_网页开发1 // // Created by ma c on 16/2/18. // Copyright © 201 ...

  2. JavaScript入门:002—JS代码放置的位置

    JavaScript在页面中使用,那么这些JS代码应该放在什么位置呢?以下来看一下. 一般来说有两种方式.写在界面上和使用.js文件.1.1界面上的Head部分能够直接放在head标签内,例如以下代码 ...

  3. javascript 全选 反选 js代码

    <script type="text/javascript"> //全选function checkAll() { var objs = window.document ...

  4. Javascript DOM编程艺术JS代码

    //com function addLoadEvent (func) { var oldonload = window.onload; if (typeof window.onload != 'fun ...

  5. (转)高性能JavaScript:加载和运行(动态加载JS代码)

    浏览器是如何加载JS的 当浏览器遇到一个<script>标签时,浏览器首先根据标签src属性下载JavaScript代码,然后运行JavaScript代码,继而继续解析和翻译页面.如果需要 ...

  6. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】

    原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...

  7. JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)

    编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  8. javascript基础之javascript的存在形式和js代码块在页面中的存放位置

    1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...

  9. JavaScript必备:Google发布的JS代码规范(转)

    [翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...

随机推荐

  1. amoeba安装与实现amoeba for mysql读写分离

    运行环境 l  CentOS6.3 l  Jdk1.6.0_30 l  amoeba-mysql-binary-2.2.0 l  amoeba:192.168.88.17 l  master1:192 ...

  2. dataguard 日志传输服务

    1.日志传输可以分为 lgwr和ARCH,默认是arch,其中lgwr传输可以分为async和syncsync:同步服务,只有在事物参数的日志成功的传输到备库的目的地,事物才能提交.虽然同步服务没有限 ...

  3. java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...

  4. [OFBiz]简介 一

    1.What is Apache OFBiz?http://ofbiz.apache.org/ 2.概述http://baike.baidu.com/view/638900.html?fromTagl ...

  5. [selenium webdriver Java]常用api

    1. 获取元素文本 WebElement类的getText()方法返回元素的innerText属性.所以元素里如果有子节点一样也会被返回出来.如下所示 public class GetText { @ ...

  6. ASIHTTPRequest 编码问题

    今天在模拟登陆时,中文的用户名一直登陆不上,对用户名进行了各种转码还是不能解决. 在这个问题上一直卡了半个多小时,最终才发现根本不是用户名的编码问题,而是使用的第三方网络插件的ASIHTTPReque ...

  7. 关于T公司的强矩阵架构的思考

    我所在的T公司是强矩阵架构,关于这类公司,应该是不少大公司的主流架构,也就是说一个职员在公司内不仅在项目内有相应的级别,在其行政上也是有相应的级别,日常工作以项目的内容为主,但是同时也是属于行政的一员 ...

  8. 命令cd

    "." 当前目录".." 上一级目录"~" 用户家目录 cd + 回车 回到家目录“-” 上一个工作目录

  9. usb 驱动

    usb 驱动学习总结: usb 采用分层的拓扑结构,金字塔型,最多是7层.usb 是主从结构,主和主或者从和从之间不能交换数据.理论上一个usb主控制器最多可接127个设备,协议规定每个usb设备具有 ...

  10. IP查找工具——angry IP Scanner

    作用] 若树莓派没有屏幕可通过该工具查找树莓派的IP地址.例如下图的树莓派IP地址可能为192.168.1.107. 图1 IP scan查找树莓派IP地址