Javascript 风格向导
来源:互联网 发布:php整站源码 编辑:程序博客网 时间:2024/05/18 03:40
序
大部分针对Javascript最合理的方法归纳。
类型
• 原始类型:我们可以直接使用值。
ο string
ο number
ο boolean
ο null
ο undefined
var foo = 1, bar = foo;bar = 9;console.log(foo, bar); // => 1, 9
• 复合类型:我们通过`引用`对值进行间接访问。
ο object
ο array
ο function
var foo = [1, 2], bar = foo;bar[0] = 9;console.log(foo[0], bar[0]); // => 9, 9
Objects
• 使用{}创建对象。
// badvar item = new Object();// goodvar item = {};
• 不要使用保留字作为关键字。
// badvar superman = { class: 'superhero', default: { clark: 'kent' }, private: true};// goodvar superman = { klass: 'superhero', defaults: { clark: 'kent' }, hidden: true};
Arrays
• 使用[]创建数组// badvar items = new Array();// goodvar items = [];
• 如果你不知道数组长度,使用Array#push。
var someStack = [];// badsomeStack[someStack.length] = 'abracadabra';// goodsomeStack.push('abracadabra');
• 当你需要复制数组的时候,请使用Array#slice。
var len = items.length, itemsCopy = [], i;// badfor (i = 0; i < len; i++) { itemsCopy[i] = items[i];}// gooditemsCopy = items.slice();
Strings
• 对于字符串,我们使用单引号''。
// badvar name = "Bob Parr";// goodvar name = 'Bob Parr';// badvar fullName = "Bob " + this.lastName;// goodvar fullName = 'Bob ' + this.lastName;
• 超过80个字符的字符串,我们使用串联符号(\),让字符串多行显示。
• 注意:如果过度使用带串联符号的字符可能会影响到性能。
// badvar errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.';// badvar errorMessage = 'This is a super long error that \was thrown because of Batman. \When you stop to think about \how Batman had anything to do \with this, you would get nowhere \fast.';// goodvar errorMessage = 'This is a super long error that ' + 'was thrown because of Batman.' + 'When you stop to think about ' + 'how Batman had anything to do ' + 'with this, you would get nowhere ' + 'fast.';
• 当我们在编程的时候,需要拼接出一个字符串,我们可以使用Array#join 代替字符串连接。尤其是对IE浏览器。
var items, messages, length, i;messages = [{ state: 'success', message: 'This one worked.'},{ state: 'success', message: 'This one worked as well.'},{ state: 'error', message: 'This one did not work.'}];length = messages.length;// badfunction inbox(messages) { items = '<ul>'; for (i = 0; i < length; i++) { items += '<li>' + messages[i].message + '</li>'; } return items + '</ul>';}// goodfunction inbox(messages) { items = []; for (i = 0; i < length; i++) { items[i] = messages[i].message; } return '<ul><li>' + items.join('</li><li>') + '</li></ul>';}
Functions
• 函数表达式
// anonymous function expressionvar anonymous = function() { return true;};// named function expressionvar named = function named() { return true;};// immediately-invoked function expression (IIFE)(function() { console.log('Welcome to the Internet. Please follow me.');})();
• 绝对不要在非函数块(if,while)申明一个函数。我们可以把函数申明变成一个函数表达式。
// badif (currentUser) { function test() { console.log('Nope.'); }}// goodif (currentUser) { var test = function test() { console.log('Yup.'); };}
• 绝对不要把一个参数命名为arguments,arguments参数是函数作用域内给出的一个特殊变量,如果你把参数命名为arguments,那么这个参数就会覆盖它原有的特殊变量。
// badfunction nope(name, options, arguments) { // ...stuff...}// goodfunction yup(name, options, args) { // ...stuff...}
总结
这些很多是大家都比较清楚的,平时经常用,我只是强调一下,让大家再复习一下。
- Javascript 风格向导
- javascript 风格向导
- Javascript 风格向导(续)
- Javascript 风格向导(终结)
- Ruby代码风格向导
- Twitter Bootstrup风格jQuery用户向导插件
- JavaScript的MVC模式向导
- JavaScript的MVC模式向导
- wilddog-for-javascript开发向导
- 【JAVASCRIPT】JavaScript编程风格
- PSR-2 (Coding Style Guide) 编码风格向导
- Javascript编码风格
- JavaScript风格要素
- JavaScript风格要素
- Javascript编程风格
- JavaScript编程风格
- JavaScript编程风格
- JavaScript编程风格
- ECMall 禁止中文登陆名注册的简单实现方法
- 22、jQuery操作DOM
- GNU工具链简介
- UML类图解释
- 字符串匹配KMP算法
- Javascript 风格向导
- 关于Android调用WebService的写法,有参数和无参数的区别。
- Java程序优化的一些最佳实践
- Eclipse插件的安装方法三则
- 字符串匹配的KMP算法
- matlab遗传算法工具箱(GADs)
- 利用ACE来读取.ini配置文件
- 如何隐藏android应用图标?
- 关于学术论文撰写投稿方面的心得体会