现在的位置: 首页 > 综合 > 正文

JavaScript学习总结一:js常见问题

2013年04月04日 ⁄ 综合 ⁄ 共 878字 ⁄ 字号 评论关闭

      语法要点:Javascript语言区分大小写,为弱类型变量语言(类似VB)。变量可以不定义直接使用(不推荐)。

    函数调用与引用:var one = excute();表示获取excute这个函数执行的结果(返回值)而var one = excute;表示引用excute这个函数,把excute这个函数的地址传给one这个变量。

Js覆盖规则:当出现多个同名函数时,以最后一个定义的为准,无论在哪调用该函数(即使在最后一个定义之前调用),都将调用最后一个!

    Javascript中的函数参数机制:一个函数有多少个参数不是通过函数的定义判断的,而是通过访问函数时传递了多少个参数判断。比如function a(x,y),无论括号里写多少个参数都无效,要想传入参数要在访问时确定,a(1,2,3);这样就是传入了三个参数。因此function
a(x,y)、function a()、function a(x)等写法是没有任何区别的,函数唯一的区别就是名字,不通过参数区别。细心的读者可能会发现,假如有一个function a(x,y),访问方法:a(1,2,3),问题来了:我们可以在function中使用x、y形参获得1、2两个实参值,但是第三个参数怎么使用?在js中,每一个function,都会有一个arguments数组,这个数组专门用来存放参数,在本例中,数组的情况是:arguments[0]=1、arguments[1]=2、arguments[2]=3。这样就不必通过形参访问参数了,直接访问arguments数组即可!

    Js覆盖规则:当出现多个同名函数时,以最后一个定义的为准,无论在哪调用该函数(即使在最后一个定义之前调用),都将调用最后一个!因为js是解释执行的语言,在执行前要把整个代码段扫描,因此可以在函数定义之前使用函数。例如,以下代码输出为2

<script type="text/javascript">
	function a()
	{
		alert("1");
	}
	a();
	function a()
	{
		alert("2");
	}
</script>

抱歉!评论已关闭.