JavaScript之函数与作用域
2017-05-06 22:42
204 查看
函数部分
1、函数声明var demo = function (){} 函数表达式
function demo () {} 函数声明
var demo = function () {} 命名函数表达式
以上就是三种函数声明的方式。
2、argument和return
每一个函数里面都有一个类数组属性argument,这个属性里面存的就是实参,arguments[0]就可以查看我们传递的第一个实参了
每一个函数都会有一个return,如果不写的话会自动加上一个return
return的功能:
返回这个函数的执行结果
终止函数的执行
作用域
定义:变量(变量作用域又称为上下文)和函数生效的区域JavaScript函数是可以产生作用域的,两个不同作用域之间是不能互相访问的,es5中的作用域只有全局作用域和局部作用域两种,es6中添加了块级作用域的概念。
作用域链
定义 : 作用域中所存储的执行期上下文对象的集合,这个集合呈链式链接,我们把这种链式链接叫做作用域链。当代码在一个环境中执行时,会创建变量对象的一个作用域链来保证对执行环境有权访问的变量和函数的有序访问。作用域第一个对象始终是当前执行代码所在环境的变量环境
运行期上下文
当函数执行时,会创建一个称为执行期上下文的对象。一个执行期上下文定义了一个函数执行的环境,函数每次执行时对应的执行上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行上下文,当函数执行完毕,他所产生的执行上下文被销毁。
注:查找变量的时候是从作用域链的顶端依次向下查找的。
例如:
function a() { function b() { var b = 234; document.write(aaa); } var a = 123; return b; } var glob = 100; var demo = a(); demo();
==主页传送门==
相关文章推荐
- JavaScript中Eval()函数的作用
- Javascript中eval()函数的作用
- Javascript 函数及其执行环境和作用域
- Javascript学习笔记之函数篇(六) : 作用域与命名空间
- javascript的变量\函数\作用域闲谈
- javascript 嵌套的函数(作用域链)
- JavaScript高级程序设计之函数表达式之模仿块级作用域第7.3讲笔记
- javascript中不存在块级作用域,所以要小心使用在块级作用域中的函数声明所带来的作用域混乱.
- 【javascript】javascript中call及apply函数作用:主要实现将函数绑定到另外一个对象上去运行
- JavaScript进阶 - 第5章 小程序,大作用(函数)
- 关于 javascript 闭包及函数原型 作用链域 总结
- 请编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码
- Javascript 函数及作用域
- JavaScript 函数、作用域和继承
- 用javascript写一个函数,作用是去除字符串前后空格
- JavaScript作用域链其二:函数的生命周期
- javascript 函数及作用域
- javascript 函数及作用域(转)
- javascript中bind函数的作用实例介绍
- javascript 函数及作用域总结介绍