JavaScript之基础-5 JavaScript 函数

一、JavaScript 函数定义

函数(方法,过程)

- 函数(Function),有时也被称为方法(Method),或者过程(Procedure)

- 是一段预定义好,并可以被反复使用的代码块,其中可以包含多条可执行语句

- 函数本质上是功能完整的对象

定义函数(方法,过程)的功能

- 使用关键字 function 定义一个函数

- 函数名的定义规则与标识符一直,大小写敏感

- 最简单的函数定义

定义参数和返回值

- 稍微复杂些的函数可能需要声明执行参数

- 或者使用 return 关键字声明函数的返回值

二、JavaScript 函数的调用

调用函数时的参数传递

- 若函数定义中指定需要传递参数,那么调用此函数时就必须提供需要的值。

如下函数定义:

得到返回值

- 若函数定义中声明了返回值,那么调用该函数时可以接收此返回值。

如下函数定义:

函数内调用函数

- 可以在一个函数体内调用其它函数

- 函数体内调用其它函数的复杂例子

三、JavaScript 变量的作用域

作用域概述

- 作用域就是变量与函数的可访问范围,他控制着变量与函数的可见性和生命周期

- 在JavaScript中,变量和函数的作用域分为:

- 函数作用域,只在当前函数内可访问

- 全局作用域,一经定义,在代码中任何地方都能访问

函数作用域中的变量

- 函数作用域中德变量(局部变量)只在当前函数内可访问到,离开此范围就无法访问了

全局作用域中的变量

- 全局作用域中的变量(全局变量)在代码的任何位置都可以访问到

- 在最外层定义的变量是全局变量

声明提前

- JavaScript 程序在正式执行前,会将所有 var 声明的变量和 function声明的函数,预读到所有作用域的顶部

- 但是对变量的赋值让保留在原位置,随脚本解释执行。

- 比如:

- 声明提前仅能将声明提前到所在作用域的顶部

等效于:

- 声明提前不但能将变量声明提前,而且还会将函数声明提前

等效于:

- 总结: 今后尽量将变量的声明和函数的声明集中在当前作用域的顶部。

按值传递

- 按值传递指将实参变量的值复制一份儿副本给方法的形参变量

- JavaScript 中为方法传递参数时,都是按值传递的

- 如果传递的是原始类型数据,则在方法内修改参数变量的值,不会影响外部的实参变量

- 比如:

函数的作用域

- 与变量类似,函数的作用域也分为"全局作用域(全局函数)"和"函数作用域(局部函数)"

- 在最外层定义的函数是全局函数

- 在一个函数内部定义的函数是局部函数

三、JavaScript 全局函数

全局函数概述

- ECMAScript 中预定义了一组全局函数,可供用户直接使用

encodeURI 与 decodeURI

- encodeURI()函数用于对统一资源标示符(URI)进行编码,返回编码后的URI字符串

- decodeURI()函数用于对使用encodeURI()编码之后的字符串进行编码

eval函数

- eval()函数用于执行以string形式出现的JavaScript代码

- 使用此函数使JS可以执行动态的JavaScript源代码

总结:本章内容主要介绍了 JavaScript 函数

时间: 2024-11-06 14:51:32

JavaScript之基础-5 JavaScript 函数的相关文章

javascript语法基础-变量与函数

三 javascript语法基础-变量与函数 (一)变量的声明与运用 JavaScript中的变量与Java.C等强类型语言有很大区别,虽然在JavaScript中具有字符串.数字等数据类型. 变量申明语句的结构是var保留字加标识符,var和标识符之间用空格隔开. 赋值语句的结构是在变量和需要赋的值之间加上一个等号,例如a=1的含义是将变量a的值指定为1. 变量在定义的时候也可以同时赋值,如var a=1. PS:在变量使用前事先进行声明是个良好的编程习惯,这对将来学习Java等其他语言有帮助

JavaScript之基础-6 JavaScript 分支结构 (if、if-else、else if、switch-case)

一.流程控制概述 程序的流程控制 - 程序 = 数据 + 算法 - 任何复杂的程序算法都可以通过"顺序","分支","循环"三种基本的程序逻辑组合实现 分支结构的概述 - 程序可以在运行过程中,在不同的情形下有选择的执行某些语句 二.if 语句 if 语句的执行逻辑 if 语句流程图 - if判定中默认必需一个boolean值 - 若出现的值不是boolean类型,则会自动转换 if 语句块不要省略"{}" 三.if-else

JavaScript之基础-1 JavaScript(概述、基础语法)

一.JavaScript 概述 JavaScript 概念 - JavaScript 是一种运行于 JavaScript解释器/引擎中的解释型脚本语言 - JavaScript 解释器作为JS脚本的运行环境,有如下两种呈现方式 - 独立安装的 JavaScript 解释器; - 嵌入在浏览器内核中的 JavaScript 解释器; - 目前 PC .平板.手机.机顶盒中安装的主要浏览器全部支持JavaScript JavaScript 发展史 - 1992年,Nombas公司为自己的CEnvi软

JavaScript 精粹 基础 进阶(6)函数和作用域(函数、this)

转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698ef6b8ea642ea9213f4e 函数是一块JavaScript代码,被定义一次,但可执行调用多次,js中的函数也是对象,所以js函数可以像其他对象那样操作和传递所以我们也常叫js中的函数为函数对象. 函数概述 函数的构成主要有几个部分函数名,参数列表,函数体 function foo(x, y) { if (typeof x === 'number' && typeof y

JavaScript 精粹 基础 进阶(7)函数和作用域(闭包、作用域)

转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698f05b8ea642ea9213f4f 闭包在JavaScript?中是一个非常重要的概念. 闭包例子 function outer() { var loc = 30; return loc; }; console.log(outer()); //30 outer函数是一个函数声明,有一个局部变量loc赋值为30,返回loc. 当这个函数调用之后,局部变量就会被释放了, function

JavaScript之基础-15 JavaScript OOP(概述、对象模板)

一.JavaScript OOP 概述 OOP 概述 - 面向对象的语言 - 封装 - 把相关的信息(无论数据或方法)存储在对象中 - 继承 - 从其它对象获得属性和方法 - 多态 - 能以多种不同的形式运行函数或方法 - ECMAScript支持这些要求,因此可被是看做面向对象的 封装 - 回顾直接量创建对象 - 使用new调用Object构造函数创建对象语法 继承 - 对象方法 - toString() - toLocaleString() - valueOf() 二.JavaScript

JavaScript之基础-16 JavaScript 原型与继承

一.JavaScript 原型 原型的概念 - 在JavaScript中,函数本身也是一个包含了方法和属性的对象 - 每个函数中都有一个prototype属性,该属性引用的就是原型对象 - 原型对象是保存共享属性值和共享方法的对象 为对象扩展属性 - 扩展单个对象的成员 - 扩展共享的属性值 - 内存图描述 删除属性 - 可以使用delete关键字删除对象的属性 自由属性与原型属性 - 自有属性:通过对象的引用添加的属性;其它对象可能无此属性;即使有,也是彼此独立的属性 emp1.job = '

JavaScript之基础-3 JavaScript 数据类型、数据类型转换

一.数据类型 数据类型 基本类型 - 数字类型 - 既可以表示32位整数,也可以表示64位的浮点数 - 整数 - 十进制:逢十进一的整数,如1234567890 - 八进制:逢八进一的整数,如01235670 - 十六进制: - 浮点数 - 使用小数点记录数据,如 95.5,3.1415926 - 使用指数记录数据,如 4.3e23, 4.3E-23 string 类型 - 字符串类型 - 表示一系列的文本字符数据,如性别.姓名.住址等 - 由Unicode字符,数字,标点组成的序列 - Jav

JavaScript之基础-4 JavaScript 运算符、表达式

一.JavaScript 运算符 运算符 - 算数运算        + - * / % ++ -- - 关系运算        > < >= <= == === != !== - 逻辑运算        && || ! - 位运算          & | ~ ^ << >> >>> - 赋值运算        = += -= *= /= %= - 字符连接运算    + - 条件(三目)运算  ?: - 特殊运算