Html5/JavaScript涉及地理定位与回调函数的问题

W3cSchool关于Html5教程中有一节地理定位的教程,先附代码:


其中navigatitor.getCurrentPosition (showPosition ) 这句话涉及到了回调函数的概念。

讲述回调函数概念这个问题之前,要先讲明白一个问题,即函数调用中加圆括号的调用和不加圆括号调用的区别。

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

可以在运行环境下找到getCurrentPosition()函数的定义,包括三个参数,其中第一个必选,剩余两个可选。这里我们以必选参数为例,先附张图:

图中showPosition(hs)作为getCurrentPosition(a)的子函数找到了该函数体所对应的的一个地理位置positionCallBack()。则由此参数hs与参数Position所指向物理位置是一样的,依次相对应。



Leave a comment

您的电子邮箱地址不会被公开。