《JavaScript语言精粹》笔记(3)--函数

xiaoxiao2021-02-28  25

1.函数对象 每个函数在创建时附有两个附加的隐藏属性:函数的上下文和实现函数行为的代码 2.函数字面量 函数对象可以通过函数字面量来创建: var add = function (a,b){ return a + b; } ; 3.调用—调用笔记 4.参数 函数被调用时,会接收两个附加的参数:this和arguments。this在调用部分已经说过。现在说一下arguments数组。 通过这个数组,函数可以访问所有它被调用时传递给它的参数列表,包括那些没有被分配给函数声明时定义的形式参数的多余参数。 注意:arguments数组拥有一个length属性,但它缺少所有的数组方法。 5.返回 return语句可用来使函数提前返回。当return被执行时,函数立即返回而不再执行余下的语句。 一个函数总是会返回一个值。若没有返回值,则返回undefined。 6.给类型增加方法 JavaScript允许给语言的基本类型增加方法。通过给Object.prototype添加方法来使得该方法对所有对象可用。这样的方式对函数、数组、字符串、数字、正则表达式和布尔值都适用。

Function.prototype.addMethod=function(methodName,func){ if(!this[methodName]){ this[methodName]=func; } return this; }; String.addMethod('trim',function(){//这是添加的新方法 return this.replace(/^\s+|\s+$/g,''); }); alert('"'+" neat " .trim()+'"');

7.递归 递归函数会直接或间接地调用自身的一种函数。一般来说,递归函数会调用自身去解决它的子问题。 8.作用域 JavaScript的函数是基于词法作用域—词法作用域笔记的顶级对象。 9.闭包 请看闭包–整理一章 10.回调 作用:js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。 定义:回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。(因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值”) 例子

<script type="text/javascript"> //同步请求 request = prepare_the_request(); response = send_request_synchronously(request); display(response); //异步请求--回调函数 request = prepare_the_request(); send_request_asynchronously(request,function(){ display(response); }); </script>

11.模块 可以使用函数和闭包来构造模块。模块是一个提供接口却隐藏状态与实现的函数或对象。 通过使用模块,可以摒弃全局变量的使用。 模块的一般形式:一个定义了私有变量和函数的函数;利用闭包创建可以访问私有变量和函数的特权函数;最后返回这个特权函数,或者把它们保存到一个可访问到的地方。 模块函数也可以用来产生安全的对象。 12.级联、套用、记忆

转载请注明原文地址: https://www.6miu.com/read-250057.html

最新回复(0)