首页 > Web开发 > 详细

js变成一些基本规范(温故而知新,顺便发个文章)

时间:2017-04-15 01:08:32      阅读:319      评论:0      收藏:0      [点我收藏+]

//基本技巧
//尽量少用全局变量
myglobal = ‘hello‘; //反模式
console.log(myglobal)
console.log(window.myglobal)
console.log(window[‘myglobal‘])
console.log(this.myglobal)

function sum(x,y){
result = x + y;
return result;
}

function foo(){
var a = b = 0; //不要这么写,拒绝链式赋值
}
//代码移植的时候,全局变量会非常危险


//用var声明的变量不能用delete删除

var gvar = 1;
gnovar = 2;
(function(){
fromFuncVar = 3;
})();

console.log(delete gvar); //false
console.log(delete gnovar); //true
console.log(delete fromFuncVar); //true

console.log(gvar); //1
//console.log(gnovar); //undefined
//console.log(fromFuncVar); //undefined

//访问全局变量的名字叫window,也可以自己定义,以防万一
var glob = (function(){
return this;
})();


//单一var模式
function func(){
var a,
b,
sum = a + b;
}

//变量提升
myname = ‘xudy‘
function func2(){
alert(myname); //undefined //等同于var myname = undefined;
var myname = ‘lpf‘;
alert(myname); //myname;
}

func2();

//for循环注意事项
var arr = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]
var d1 = new Date().getTime()
for(var i = 0; i < arr.length; i++){ //这么写的坏处就是,每次循环都要访问对象的长度,有点慢
console.log(arr[i])
}
console.log(‘------------‘ + (new Date().getTime() - d1)); //6毫秒

d1 = new Date().getTime()
for(var i = 0, length = arr.length; i < length; i++){
console.log(arr[i]);
}
console.log(‘------------‘ + (new Date().getTime() - d1)); //3毫秒

d1 = new Date().getTime()
for(var i = arr.length;i--;){
console.log(arr[i]);
}
console.log(‘------------‘ + (new Date().getTime() - d1)); //2毫秒 跟0比较更快

//不要为内置原型添加方法

//switch语句
var inspect_me = 0,
result = ‘‘;

switch(inspect_me){
case 0:
result = ‘hero‘;
break;
case 1:
result = ‘xudy‘;
default:
result = ‘unknow‘;
}

//避免隐士类型转换,尽量用 === !===
//避免使用eval

//parseint的数值约定
var month = ‘06‘,
year = ‘09‘;

console.log(parseInt(month));
console.log(parseInt(month, 10));
console.log(parseInt(year)); //书上说会转成0,但是本人操作还是9,。。。
console.log(parseInt(year, 10));

//大括号
function func3(){
return
{
name: ‘xudy‘
}
}

console.log(func3()) //undefined
//相当于
function func3(){
return undefined; //所以接下来的代码并不会执行到
{
name: ‘xudy‘
}
}

//构造函数首字母大写
function Person(){}
//单词分割
//即,函数名字,用小驼峰,变量名字用_分割
function getName(){}
var first_name = ‘xu‘;
//常量的名字要全部大写
var PI = 3.14,
MAX_WIDTH = 800;
//私有属性用_

//要对函数、函数参数、返回值进行注释

//编写API文档
//jsDoc toolKit
//YUIDoc

 

 

 

 

 

 

 

 

 

 

js变成一些基本规范(温故而知新,顺便发个文章)

原文:http://www.cnblogs.com/xudy/p/6711585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!