JSON

javascript语言使用技巧及注意事项总结

字号+ 作者:H5之家 来源:H5之家 2015-11-24 12:38 我要评论( )

1.首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量。 var a=b=10;//其中a是局部变量,b是

标签:class   style   log   http   si   使用   代码   it   la   

1.首次为变量赋值时务必使用var关键字

  变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量。

  var a=b=10;//其中a是局部变量,b是全局变量

2.使用===比==执行更快

  ==和!=操作符会在需要的情况下自动转换数据类型。但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快。

[10] === 10 // is false [10] == 10 // is true ‘10‘ == 10 // is true ‘10‘ === 10 // is false [] == 0 // is true [] === 0 // is false ‘‘ == ‘‘ ===

 

3.underfined、null、0、false、NaN、空字符串的逻辑结果均为false 4.行尾使用分号

  实践中最好还是使用分号,忘了写也没事,大部分情况下JavaScript解释器都会自动添加。对于为何要使用分号,可参考文章JavaScript中关于分号的真相。

5.使用对象构造器

function Person(firstName, lastName){ this.firstName = firstName; this.lastName = lastName; } var Saad = new Person("Saad", "Mousliki");

 

6.小心使用typeof、instanceof和contructor

var arr = ["a", "b", "c"]; typeof arr; // 返回 "object" arr instanceof Array // true arr.constructor(); //[]

 

7.使用自调用函数

函数在创建之后直接自动执行,通常称之为自调用匿名函数(Self-Invoked Anonymous Function)或直接调用函数表达式(Immediately Invoked Function Expression )。格式如下:

(function(){ // 置于此处的代码将自动执行 })(); (function(a,b){ var result = a+b; return result; })(10,20)

内部函数被“()”括起来后变成表达式

8.从数组中随机获取成员

var items = [12, 548 , ‘a‘ , 2 , 5478 , ‘foo‘ , 8852, , ‘Doe‘ , 2145 , 119]; var randomItem = items[Math.floor(Math.random() * items.length)];

 

9.获取指定范围内的随机数

这个功能在生成测试用的假数据时特别有数,比如介与指定范围内的工资数。

var x = Math.floor(Math.random() * (max - min + 1)) + min;

 

10.生成从0到指定值的数字数组

var numbersArray = [] , max = 100; for( var i=1; numbersArray.push(i++) < max;); // numbers = [1,2,3 ... 100]

 

11.生成随机的字母数字字符串

function generateRandomAlphaNum(len) { var rdmString = ""; for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return rdmString.substr(0, len); }

 

12.打乱数字数组的顺序

var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; numbers = numbers.sort(function(){ return Math.random() - 0.5});

 

13.字符串去空格

String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g, "");};

新的JavaScript引擎已经有了trim()的原生实现。 14.数组之间追加

var array1 = [12 , "foo" , {name "Joe"} , -2458]; var array2 = ["Doe" , 555 , 100]; Array.prototype.push.apply(array1, array2);

 

15.对象转换为数组

var argArray = Array.prototype.slice.call(arguments);

 

16.验证是否是数字

function isNumber(n){ return !isNaN(parseFloat(n)) && isFinite(n); }

 

17.验证是否是数组

function isArray(obj){ return Object.prototype.toString.call(obj) === ‘[object Array]‘ ; }

 

但如果toString()方法被重写过得话,就行不通了。也可以使用下面的方法:

Array.isArray(obj); // its a new Array method

如果在浏览器中没有使用frame,还可以用instanceof,但如果上下文太复杂,也有可能出错。

var myFrame = document.createElement(‘iframe‘); document.body.appendChild(myFrame); var myArray = window.frames[window.frames.length-1].Array; var arr = new myArray(a,b,10); // [a,b,10] // myArray 的构造器已经丢失,instanceof 的结果将不正常 // 构造器是不能跨 frame 共享的 arr instanceof Array; // false

 

18.获取数组中的最大值和最小值

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    2016-01-18 17:28

  • 正则表达式优化JSON字符串的技巧

    正则表达式优化JSON字符串的技巧

    2016-01-18 09:06

  • Linux学习笔记:MySQL字符集

    Linux学习笔记:MySQL字符集

    2016-01-17 18:24

  • PHP学习之字符串比较和查找

    PHP学习之字符串比较和查找

    2016-01-17 18:23

网友点评