《JavaScript面向对象编程指南》阅读笔记三(函数1)

1、函数构成:

(1)function子句。

(2)函数名称。

(3)函数所需的参数。

(4)函数所要执行的代码块,称之为函数体。

(5)return子句。函数通常都会有返回值,如果某个函数没有显式的返回值,就默认其返回值为undefined。并且一个函数只能有             一 个返回值,如果需要同时返回多个值,可以将其放进一个数组里,以数组元素的形式返回。

2、函数的调用:

只需在函数的后面加一对用以传递参数的括号即可。

3、预定义函数:

parseInt() :将其收到的任何输入值(通常是字符串)转换为整数类型输出,如果转换失败就返回NaN。

                    eg: parseInt('123')  >>> 123 ; parseInt('abc123') >>> 123 ; parseInt('1abc23') >>> 1 ; parseInt('123abc') >>> 123

                    该函数还有个可选的第二参数:radix,负责设定函数所期望的数据类型,十进制、十六进制、二进制、八进制等。                        eg: parseInt('FF' , 10) >>> NaN ; parseInt('FF' , 16) >>> 255

                    如果调用parseInt时没有设置radix,就默认为十进制,但以下两种情况除外:如果首参数字符串以0x开头,第二参数

                    默认为十六进制;首参数以0开头,第二参数默认为八进制。

parseFloat() : 功能与parseInt()基本相同,只不过支持将输入值转换为十进制数,因此该函数只有一个参数。

                      parseFloat()还可以接受指数类型的数据。eg:

                      parseFloat('123e2') >>> 12300

isNaN() : 判断某个输入值是否是一个可以参与算术运算的数字。因此,该函数也可以用来检测parseInt() 与 parseFloat()函数的                   调用成功与否。

isFinite() : 可以用来检查输入是否是一个既非infinity也非NaN的数字。

eval() : 将其输入的字符串当做javascript代码来执行(尽量避免使用eval()函数)

alert() : 在alert()的执行窗口关闭之前,当前所有的代码都会暂停执行。因此对于一个忙碌的AJAX应用程序来说,alert()通常不是

            一个好的选择。

4、变量的作用域:

(1)在javascript中,我们不能为变量定义特定的块作用域,但可以定义其所属的函数域。

(2)全局变量指的是声明在所有函数之外的变量,与之对应的局部变量指的是在某个函数中定义的变量。

(3)如果我们声明一个变量时没有使用var语句,该变量就会被默认为全局变量。

(4)在函数被调用之前,函数中的变量是不存在的。

(5)函数域始终优于全局域。

5、函数也是数据:

函数是一种数据类型。下面两种函数定义在本质上是相同的:

(1)function f() { return 1; }

(2)var f = function() { return 1; }

第二种定义方式称为函数标识记法。

 

 

 

 

你可能感兴趣的:(《JavaScript面向对象编程指南》阅读笔记三(函数1))