博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript作用域
阅读量:6081 次
发布时间:2019-06-20

本文共 718 字,大约阅读时间需要 2 分钟。

最近,看了js启示录、你不知道的js上等,给大家分享一下JavaScript中,有关作用域,对象原型的一些知识

几乎所有编程语言最基本的功能之一,就是能够存储变量当中的值,并且能在之后对这个值进行,访问或修改。但是将变量引入程序会延续几个问题,也正是我们要讨论的,这些变量住在哪里?换句话说,他们存储在哪里?最重要的是程序需要时如何找到它。这些问题,说明需要一套设计良好的规则来存储变量,并且之后可以方便找到这些变量,这条规则,被称为作用域。

从头到尾,负责整个javascript程序的编译执行过程的引擎在遇到一个变量时,编译器会询问作用域是否已经有一个该名称的变量存在于同一个作用域或包含它的作用域中,否则undefined。接下来编译器会为引擎生成运行时所需要的代码,这些代码用来处理赋值,调用等操作。

看一段代码,这个例子中有三个逐级嵌套的作用,

 

作用域气泡由其对应的作用域块代码写在哪里决定,他们是逐级包含的。这种作用域气泡是严格包含的,换句话说,没有任何函数的气泡可以同时出现在两个外部作用域的气泡中。无论函数怎么调用,他的词法作用域,都只由函数被声明时所处的位置决定。作用域查找,会在找到第一个匹配的标识符时停止,在多层的嵌套作用域中,可以定义同名的标识符,这叫做,遮蔽效应(内部的标识符,遮蔽了外部的标识符)。javascript中有两个机制,可以欺骗,词法作用域,evalwith,他们将导致代码运行变慢且不支持严格模式。还有闭包和块的概念,我们将在函数中体现。

作用域针对的是变量,对于对象的属性和方法引出对象原型。

 

转载于:https://www.cnblogs.com/Unknw/p/6279056.html

你可能感兴趣的文章
LINUX网络管理之Centos6&&Centos7
查看>>
Myeclipse 2014 专业版 安装 svn插件
查看>>
比较 PHP集成开发工具(IDE)
查看>>
[转载]windows机器 cmd命令下能否使用什么命令通过ssh连接到远程lin
查看>>
MySQL入门-4:检索数据
查看>>
我的友情链接
查看>>
configure: error: wrong mysql library version or lib not found
查看>>
OSX 更新 node-qrcode
查看>>
awk命令
查看>>
Linux 核心-封面
查看>>
对面的GMAT请看过来
查看>>
CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
查看>>
我的友情链接
查看>>
老板不希望手下通晓的大道理
查看>>
第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
查看>>
windows下安装MongoDB
查看>>
Do not request Window.FEATURE_SUPPORT_ACTION_BAR
查看>>
boot分区误删除,如何修复
查看>>
bootstrap中表格固定头部:
查看>>
<c:set> 用法
查看>>