众所周知,Javascript是一个非常流行的编程语言,开发人员使用它不仅可以发展背后的Web程序,你也可以用它来开发移动应用程序(如PhoneGap或Appcelerator),它有一些服务器的实现,如NodeJS、Wakanda等实现。此外,很多开发商会选择Javascript就用它来做一些小的弹出窗口和其他小东西的入门语言。

在本文中,作者将与大家分享Javascript开发技巧、最佳实践等的实用内容。无论您是前端开发人员还是服务器开发人员,您都应该看看这些技巧,这肯定会对您有好处。

在本文中提供的代码已经通过Chrome 30测试的最新版本,它采用V8 Javascript引擎(V8 3.20.17.15)。

1。当第一次分配变量时,不要忘记var关键字。

该变量被分配给未声明的变量,该变量自动创建为全局变量,并且在js开发中,应避免使用全局变量。

2。=替换

永远不要使用=或!=。

复制代码代码如下所示:

{ 10 } = 10 /是false

{ 10 } = 10 /是真的

10= 10 /是真的

10= 10 / false是false

{ = 0 /是真的

{ = 0 = / false是false

假真但是真是false是错误的。

false是false



三.使用分号作为行终止字符。

它是在一行的末尾使用分号的好习惯。即使开发人员忘记添加分号,编译器也不会有任何提示,因为在大多数情况下,Javascript解析器将自动添加。

4。创建一个构造函数

复制代码代码如下所示:

功能人(firstName、lastName){

this.firstname =名;

this.lastname =姓;

}



Var Saad =新人(萨阿德)



5。应谨慎使用类,实例,和构造函数

复制代码代码如下所示:

var arr = {

型ARR; / / 返回对象

ARR是阵列 / /真的

/ / { }(arr.constructor);



6。创建自调用函数

这是通常被称为一个匿名函数叫做自我调用或函数表达式直接调用(的生活)。功能时自动执行的功能是创建,如下:

复制代码代码如下所示:

(函数(){())

一些自动执行的私有代码。

});

(函数(a,b){)

var结果;

返回结果;

})(10,20)



7。为数组创建一个随机项

复制代码代码如下所示:

可变项目= { 12, 548,A,2, 5478,'foo ',8852,'doe ',2145, 119 };



无功randomitem =项目{ math.floor(Math.random()*项目。长度)};



8。在特定的范围内获得一个随机数

下面的代码非常常见,当您需要生成一个用于测试的假数据时,例如在最低工资和最大值之前获得一个随机值。

复制代码代码如下所示:

var x = math.floor(Math.random()*(最大-最小+ 1))+ min;



9。在0和最大数之间产生一组随机数。

复制代码代码如下所示:

var { } = numbersarray,max = 100;



对于(var i = 1;numbersarray.push(i++)<最大;); / /数= { 0、1、2、3…100 }



10。生成一组随机字母数字字符。

复制代码代码如下所示:

功能generaterandomalphanum(LEN){

无功rdmstring = ;

(为;rdmstring.length < len;rdmstring = Math.random(ToString)(36),Substr(2));

返回rdmstring.substr(0,Len);



}



11。随机数组

复制代码代码如下所示:

var数字= { 5, 458, 120,- 215, 228, 400,122205,- 85411 };

numbers.sort数=((){ return函数Math.random()0.5 });

数组号将等于例如,{ 120, 5, 228,400, 458,- 215,- 85411, 122205 }。



12。字符串的提姆函数

修剪功能可以删除字符串中的空白字符,可以使用多种语言,如java,C #,PHP,等等。

复制代码代码如下所示:

string.prototype.trim =函数(){ return this.replace( / ^ + | + $ / g,);};



13。阵列除了

复制代码代码如下所示:

VaR array1 = { 12,foo



VaR array2 = {无名氏

Array.prototype.push.apply(array1,array2);

array1将等于 / { 12,foo



14。将参数对象转换为数组

复制代码代码如下所示:

无功argarray = array.prototype.slice.call(参数);



15。验证给定参数是否是一个数字。

复制代码代码如下所示:

功能isnumber(N){

返回!IsNaN(parseFloat(n))系统(N);

}



16。验证给定的参数是数组。

复制代码代码如下所示:

功能ISArray(obj){

返回object.prototype.tostring.call(obj)={ }对象数组;

}



注意如果toString()方法的重写,你将不会得到预期的结果。

或者你可以写这个:

复制代码代码如下所示:

Array.isArray(obj); / /它的一个新的阵列的方法



以同样的方式,如果你使用一个以上的框架,你可以使用实例,如果内容太多,结果也会出错。

复制代码代码如下所示:

var myFrame. = document.createelement('iframe);

document.body.appendchild(myFrame.);



VaR MyArray =窗口。帧{窗口。帧。length-1 }。阵列;

var arr =新MyArray(A,B,10); / / {A,B,10 }



不工作 / /是正确MyArray失去构造函数

不在帧/构造函数之间共享

数组是数组; / /假



17。从数组中获取最大值和最小值。

复制代码代码如下所示:

var数字= { 5, 458, 120,- 215, 228, 400,122205,- 85411 };

无功maxinnumbers = math.max.apply(数学、数字);

无功mininnumbers = math.min.apply(数学、数字);



18。空数组

复制代码代码如下所示:

VaR MyArray = { 12, 222, 1000 };

myarray.length = 0; / / MyArray将等于。



19。不要使用删除来删除数组中的项。

开发人员可以使用拆分而不是使用删除数组项,而不是从数组中删除未定义的项,最好使用删除代替。

复制代码代码如下所示:

可变项目= { 12, 548,A,2, 5478,'foo ',8852,'doe ',2154, 119 };

items.length; / /返回11

删除项目{ 3 };返回true

items.length; / /返回11

项目将等于 12, 548,A,未定义的* 1, 5478,富,8852,未定义的* 1,DOE,2154, 119 }。



也可以…

复制代码代码如下所示:

可变项目= { 12, 548,A,2, 5478,'foo ',8852,'doe ',2154, 119 };

items.length; / /返回11

items.splice(3,1);

items.length; / /返回10

项目将等于 12, 548,A,5478,富,8852,未定义的* 1,DOE,2154, 119 }。



删除方法应该删除对象属性。

20。使用长度属性缩短数组。

正如空数组中提到的,开发人员也可以使用长度属性来缩短数组。

复制代码代码如下所示:

VaR MyArray = { 12, 222, 1000,124, 98, 10 };

myarray.length = 4; / / MyArray将等于{ 12, 222, 1000,124 }。



如果你定义的数组长度值太高,数组的长度会改变,一些未定义的值将被填入数组中。数组的长度属性不是只读的。

复制代码代码如下所示:

myarray.length = 10; / /新的数组的长度是10

myarray.length MyArray { 1 }; / /未定义