码迷,mamicode.com
首页 > 其他好文 > 详细

12 27

时间:2019-12-27 09:42:11      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:fun   客户端   span   查找   不可   内存   作用域   调用   报错   

 

函数的执行   

js代码在客户端执行的时候 客户端会分配一个空间叫window 全局空间  我们通过var和function声明的所有变量都处于这个空间下  可以使用window.变量名获取 同时把var和function声明的变量存储到内存中去 

var和function声明的变量  即存到内存中也属于window        不用这些关键字声明的变量 只属于window没有存到内存中去

函数执行的过程分析

函数执行(调用)时 它会在window下开辟一个私有空间 

第一步,找出所有的varfunction声明的变量,把他们存到这个私有空间的内存空间中去,var声明的只存储不定义,function既存储了也定义了。

第二步 代码从上到下依次执行,只执行语句,再操作变量的时候,先在自己的私有内存中去查找,找到了看定义没,定义了使用后面的值,没定义就是undefined,没找到就往上一个内存空间查找,只到window下为止,找到使用,没找到报错。这种查找机制叫作用域链。

Js代码执行前,客户端分配的window空间叫全局作用域。

函数执行时开辟的私有空间叫私有作用域,或局部作用域。

作用域: 变量的一个作用范围。

在函数内声明的变量叫私有变量

思考

函数内的私有变量,函数外面可以直接访问吗?

不可以,函数内的变量存在函数的私有内存中,函数外的变量存储在window内存下,操作函数外的变量时,只会在window下的内存查找。找不到,所以报错,不能使用。

 

函数的参数

参数 定义函数的时候 小括号中的变量就是参数叫形参 执行函数的时候小括号中的参数叫实参  

12 27

标签:fun   客户端   span   查找   不可   内存   作用域   调用   报错   

原文地址:https://www.cnblogs.com/lihuhu/p/12105514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!