javascript面对对象编程指南第三章 函数
所谓函数,本质上是一种代码的分组形式。
一般而言,函数的声明通常由以下几个部分组成:
function语句;函数名字;函数所需要的参数,一个函数通常都具有0个或多个参数,参数之间有逗号分隔。;函数所要执行的代码块,即函数体;return即返回值,如果没返回值,则返回值为undefined。一个函数只能有一个返回值,如果为多个则需要以数组的形式返回。
在定义一个函数的同时,我们往往会设置该函数所需的调用参数。当然,也可以不设定名单如果设定了,而又在调用时忘了传递相关的参数,javascript引擎会自动设定为undefined。
函数内部都有一个内键的arguments数组,他能返回函数所介绍的所有参数。
黑盒函数 当我们调用一个函数时,程序是不需要知道该函数内部的工作细节,只需要明白给它一些值(即输入参数),就能获取他输出的返回结果。这种思想适用于任何函数。
parseInt() 该函数会试图将受到的任何输入值转换为整数类型输出。如果失败就会返回NaN。该函数还有个可选用的第二参数:radix,他负责设定函数所期望的数字类型。
pareFloat() 功能基本与parseInt相同,不过支持将输入值装换为十进制数。因此只有一个参数。且支持指数形式的数据。
isNaN 我们可以用其确定通过某个输入值是否是一个可以参与算数运算的数字。
isFinite() 可以用来检查输入是否是一个即非infinity也非NaN的数字。
encodeURI或encodeURIComponent() 都是用于转义URL或URI字符的仟褶汇返回一个可用的URL,后者则会认为我们所传递的仅仅是URL的一部分。
eval_r() 会将其输入的字符串当做javascript代码来执行。
该函数并不是ECMA标准中的,而是浏览器所提供的。单在该函数执行窗口关闭之前,打你请按所有的代码都会暂停执行。
作用域 分为全局变量和局部变量,函数内可以执行全局变量和函数内的局部变量,函数外只能执行全局变量。因此尽量将全局变量的数量降到最低。其次总是使用var语句再来声明变量。
函数是一种数据类型。它所包含的是代码,他们是可执行的。
匿名函数 我么你可以将匿名函数作为参数传递给其他函数,这样,接受方函数就能利用我们所传递的函数来完成某些事情。其次,我们可以定义某个匿名函数来执行某一些一次性任务。
回调函数 当我们吧函数A传递给函数B,并由B来执行A,A就成了一个回调函数。如果A还是一个无名含糊,我们就称它为匿名回调函数。其有几大优势:1.他可以在我们不做命名的情况下传递函数,这样可以节省全局变量。 2.我们可以将一个函数调用操作委托给另一个函数(这样可以节省工作量)。3.它也有助于提升性能。
私有函数,在一个函数内部定义一个函数,从而只在该函数内部被调用,在其他地方不可见。这样有2个好处,1有助于我们确保全局名字空间的纯净性。2,私有性,这使我们可以选择只将一些必要的函数暴露给外部世界,并白柳属于自己的函数,使他们不畏该应用程序的其他部分所用。
闭包 闭包就是可以读取其他函数内部变量的函数。从而架起函数内部与外部的桥梁。(感觉本书关于闭包讲的并不好,后期会再看资料,也会把自己的体会写出来。)
一般而言,函数的声明通常由以下几个部分组成:
function语句;函数名字;函数所需要的参数,一个函数通常都具有0个或多个参数,参数之间有逗号分隔。;函数所要执行的代码块,即函数体;return即返回值,如果没返回值,则返回值为undefined。一个函数只能有一个返回值,如果为多个则需要以数组的形式返回。
在定义一个函数的同时,我们往往会设置该函数所需的调用参数。当然,也可以不设定名单如果设定了,而又在调用时忘了传递相关的参数,javascript引擎会自动设定为undefined。
函数内部都有一个内键的arguments数组,他能返回函数所介绍的所有参数。
黑盒函数 当我们调用一个函数时,程序是不需要知道该函数内部的工作细节,只需要明白给它一些值(即输入参数),就能获取他输出的返回结果。这种思想适用于任何函数。
parseInt() 该函数会试图将受到的任何输入值转换为整数类型输出。如果失败就会返回NaN。该函数还有个可选用的第二参数:radix,他负责设定函数所期望的数字类型。
pareFloat() 功能基本与parseInt相同,不过支持将输入值装换为十进制数。因此只有一个参数。且支持指数形式的数据。
isNaN 我们可以用其确定通过某个输入值是否是一个可以参与算数运算的数字。
isFinite() 可以用来检查输入是否是一个即非infinity也非NaN的数字。
encodeURI或encodeURIComponent() 都是用于转义URL或URI字符的仟褶汇返回一个可用的URL,后者则会认为我们所传递的仅仅是URL的一部分。
eval_r() 会将其输入的字符串当做javascript代码来执行。
该函数并不是ECMA标准中的,而是浏览器所提供的。单在该函数执行窗口关闭之前,打你请按所有的代码都会暂停执行。
作用域 分为全局变量和局部变量,函数内可以执行全局变量和函数内的局部变量,函数外只能执行全局变量。因此尽量将全局变量的数量降到最低。其次总是使用var语句再来声明变量。
函数是一种数据类型。它所包含的是代码,他们是可执行的。
匿名函数 我么你可以将匿名函数作为参数传递给其他函数,这样,接受方函数就能利用我们所传递的函数来完成某些事情。其次,我们可以定义某个匿名函数来执行某一些一次性任务。
回调函数 当我们吧函数A传递给函数B,并由B来执行A,A就成了一个回调函数。如果A还是一个无名含糊,我们就称它为匿名回调函数。其有几大优势:1.他可以在我们不做命名的情况下传递函数,这样可以节省全局变量。 2.我们可以将一个函数调用操作委托给另一个函数(这样可以节省工作量)。3.它也有助于提升性能。
私有函数,在一个函数内部定义一个函数,从而只在该函数内部被调用,在其他地方不可见。这样有2个好处,1有助于我们确保全局名字空间的纯净性。2,私有性,这使我们可以选择只将一些必要的函数暴露给外部世界,并白柳属于自己的函数,使他们不畏该应用程序的其他部分所用。
闭包 闭包就是可以读取其他函数内部变量的函数。从而架起函数内部与外部的桥梁。(感觉本书关于闭包讲的并不好,后期会再看资料,也会把自己的体会写出来。)