JS函数定义方式

最近没事看了下类似淘宝,京东的前台源码,发觉自己基本看不懂,硬着头皮看了些,也看得不是很明白,大概总结了下看不懂的原因,

1,        我是几个月前报的培训班培训出来的,JS的基础,太薄弱了,基本都是以JAVA的基础来看的JS,其实JS本身也有很多特性的,所以在代码中遇到这些就看不懂了,例如:像JS最基本的一些数据类型都不知道是怎么回事,如define是什么,NaN是什么,都有什么特性,都不懂;


2,        形式上很灵活,就拿很基本的函数定义来说吧,JS定义函数的形式有好几种,有些方式定义函数会立即执行,还有别的方式定义函数不会立即执行,开始,这些都分不清,所以就读不懂了;


3,        JS的要求并不严格,如类型是弱类型,分号经常是可有可无的,而且经常会压缩空格之类的,使得代码紧凑,很难读,变量的起名也经常就用一个字母来表示,没有什么函数,可读性很差,函数的调用之类不会像JAVA代码一样,用快捷键再一点就可以看到方法的定义了,但JS就不行了,而函数定义,而使用又经常不在一起,所以读着吃力。


这篇文章我就简单把JS方法定义方式总结一下:

1.        最简单的声明方式,如下代码所示,定义了一个名为a的函数,不会执行,需要用a()调用才会执行。

代码:

 

	


2.        定义匿名函数,如下代码所示,定义了一个匿名函数,然后把方法赋值给一个变量,这种和第一种方式的区别是,第一种可以在声明前调用方法,而这种方式则不可以,

代码:
	


3.        定义一个匿名函数并立即执行,

代码:

	

 这种方式,还可以把后面括号里放一些参数,这样,后面括号里的变量值就可以对应传给函数的参数列表中的参数了 
  

代码:

	

使用jQuery的$时经常会发生jQuery的$与其他框架的$使用冲突,常常就会使用上述方式来避免发生冲突

代码:

	


4.我要说的第四种严格说来这并不算是定义函数的一种方式

代码:

	
这种写法其实是添加document.ready事件,其等价于以下几种写法

代码:

	

	

	

 而这种写法的好处就在于由于是添加document.ready事件,所以函数会在document加载完成后执行,而我们经常习惯把JS代码写在body前,而此时如果使用第四种定义方式定义并执行函数,并且在函数里需要对body里的对象进行操作时就会发生错误,因为document还没加载,所以实际上是取不到对象的,这一点尤其需要注意。

另外还要说明的一点是我们有时还会使用定义onload事件,这个事件的执行是在document.ready事件之后的.

5.补充一种,

用 Function 类直接创建函数的语法如下:

var function_name = new function(arg1, arg2, ..., argN, function_body)

在上面的形式中,每个 arg 都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。

注意:尽管可以使用 Function 构造函数创建函数,但最好不要使用它,因为用它定义函数比用传统方式要慢得多。不过,所有函数都应看作 Function 类的实例。

	




编程技术交流请加QQ群:点击链接加入群【Just Do IT】:https://jq.qq.com/?_wv=1027&k=478lBF3


你可能感兴趣的:(JS)