课程内容
1.1、函数的概念
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数过程中的这些语句用于完成某些有意义的工作——通常是处理文本,控制输入或计算数值。
通过在程序代码中引入函数名称和所需的参数,可在该程序中执行(或称调用)该函数。
1.2、函数详解
函数是由关键字 function、函数名、一组参数,以及置于括号中的待执行代码所组成的。
当调用该函数时,会创建一个临时空间(闭包),并且执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
调用带参数的函数
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔。
当您声明函数时js对象赋值,请把参数作为变量来声明。
变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
js函数调用的参数就是 this 和 arguments 。arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度。
函数有四种调用模式
一、函数调用形式
所谓函数形式就是一般声明函数后直接调用
二、方法调用模式
同样的是函数,将其赋值给一个对象的成员以后就不一样了. 将函数赋值给对象的成员后,那么这个就不在称为函数,而应该叫做方法.
三、构造器调用模式
同样是函数,在单纯的函数模式下,this 表示 window;在对象方法模式下js对象赋值,this 指 的是当前对象. 除了这两种情况,JavaScript 中函数还可以是构造器. 将函数作为构造器来使用的语法就是在函数调用前面加上一个 new 关键字. (关于this关键字下面即将讲到)
四、apply调用模式
除了上述三种调用模式以外,函数作为对象还有 apply 方法与 call 方法可以使用, apply 模式既可以像函数一样使用,也可以像方法一样使用,是一个灵活的使用方法。
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
传值和传引用(传地址)
1.3、闭包的概念
闭包就是能够读取其他函数内部变量的函数。
在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成”定义在一个函数内部的函数”。
在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
1.4、基于函数执行的内存解析(闭包使用)
由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。
闭包是通过函数实现的一块动态的、临时的内存空间,在函数调用时动态产生,调用完即销毁,在这个过程中里面定义的变量和函数都是临时的(局部的)
1.5、对象的概念
万事万物皆对象,每一个对象可以有自己的属性、方法、标识,这意味着每一个对象都可以拥有自己的内部数据(这些数据通过对象的属性来表示)和行为(行为通过对象的方法来体现),内存中的每一个对象都可以通过一个标识(这个标识指的就是对象在内存中的地址)唯一的和其他对象区分开来.
1.6、对象所在内存区域
对象所在的内存区域就是堆内存
1.7、javascript中对象的语法
创建 JavaScript 对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
1.定义并创建对象的实例
2.使用函数来定义对象,然后创建新的对象实例
javascript操作对象的特色写法
var obj = new Object(); 以及 var obj = {}; 这两种创建对象的方式结果是一样的
而通过后者var obj = {name:”aaa”,say:function(){}};可以实现对对象属性和功能的初始化定义
访问对象的属性
属性是与对象相关的值。
访问对象属性的语法是:
objectName.propertyName
访问对象的方法
方法是能够在对象上执行的动作。
您可以通过以下语法来调用方法:
objectName.methodName()
1.8、封装的概念
生活中的封装是指:
将某些东西包装在一起,然后以新的完整形式呈现出来;
程序中的封装是指:
隐藏对象的属性和实现细节,仅对外提供公共的访问方式
封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,便于维护和扩展。
在javascript中通过构造器进行封装的实现
1.9、Function构造器函数和new关键字
JavaScript中function定义函数有两种作用:
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410