[JavaScript]转--如何让JS代码高大上
原文出处: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代码高大上的更多相关文章
- IOS-网络(网页开发-UIWebView,HTML,CSS,JavaScript,OC和JS代码互调)
一.网页基础 // // ViewController.m // IOS_0218_网页开发1 // // Created by ma c on 16/2/18. // Copyright © 201 ...
- JavaScript入门:002—JS代码放置的位置
JavaScript在页面中使用,那么这些JS代码应该放在什么位置呢?以下来看一下. 一般来说有两种方式.写在界面上和使用.js文件.1.1界面上的Head部分能够直接放在head标签内,例如以下代码 ...
- javascript 全选 反选 js代码
<script type="text/javascript"> //全选function checkAll() { var objs = window.document ...
- Javascript DOM编程艺术JS代码
//com function addLoadEvent (func) { var oldonload = window.onload; if (typeof window.onload != 'fun ...
- (转)高性能JavaScript:加载和运行(动态加载JS代码)
浏览器是如何加载JS的 当浏览器遇到一个<script>标签时,浏览器首先根据标签src属性下载JavaScript代码,然后运行JavaScript代码,继而继续解析和翻译页面.如果需要 ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
- JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- javascript基础之javascript的存在形式和js代码块在页面中的存放位置
1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...
- JavaScript必备:Google发布的JS代码规范(转)
[翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...
随机推荐
- 20个非常绚丽的 CSS3 特性应用演示
这篇文章收集了20个非常绚丽的 CSS3 效果应用演示,这些示例演示了 CSS3 各种新特性的强大能力.随着越来越多的浏览器对 CSS3 支持的不断完善,设计师和开发者们有了更多的选择,以前需要使用 ...
- HDU 4394 Digital Square
Digital Square Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- ZOJ 3299-Fall the Brick(线段树+离散化)
题意: n个区间 ,给出区间的左右坐标 ,区间内填满宽度为1的箱子,有m个板子给出板子的高度和左右坐标(同高度不重叠) 所有箱子从上向下落,求每块板子能接到的箱子数. 分析: 首先给的区间很大,一开始 ...
- chrome启用本地文件
chrome禁止本地浏览时加载本地其他文件,可以采用添加启动参数的方式来支持 添加参数为 --allow-file-access-from-files 或者 --disable-web-securi ...
- 《Python基础教程(第二版)》学习笔记 -> 第六章 抽象
抽象和结构 本章将会介绍如何让将语句组织成函数,还会详细介绍参数(parameter)和作用域(scope)的概念,以及递归的概念及其在程序中的用途. 创建函数 函数可以调用,它执行某种行为,并返回某 ...
- js onchange事件
因为onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件. 如果你需要即时监听输入框值的变化,建议使用 onpropertychange 事件! 在IE下,当一个H ...
- HW6.23
public class Solution { public static void main(String[] args) { boolean[] box = new boolean[101]; f ...
- algorithm@ 大素数判定和大整数质因数分解
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...
- HDU-4694 Professor Tian 概率DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4649 题意:给一个位运算的表达式,每个运算符和其后的运算数有一定概率不计算,求最后表达式的期望. 因为 ...
- SQL2008-显示表大小行数
select object_name(id) tablename,8*reserved/1024 reserved,rtrim(8*dpages/1024)+'Mb' used,8*(reserved ...