JS高级---作用域,作用域链和预解析
作用域,作用域链和预解析
- 变量---->局部变量和全局变量,
- 作用域: 就是变量的使用范围
- 局部作用域和全局作用域
- js中没有块级作用域---一对括号中定义的变量,这个变量可以在大括号外面使用
- 函数中定义的变量是局部变量
while (true) {
var num = 10;
break;
}
console.log(num); //
{
var num2 = 100;
}
console.log(num2); //
if (true) {
var num3 = 1000;
}
console.log(num3); //
function f1() {
//局部变量
var num = 10;
}
console.log(num); //underfined 局部变量,外面访问不到
var num = 10; //作用域链 级别:0
var num2 = 20;
var str = "abc"
function f1() {
var num2 = 20;
function f2() {
var num3 = 30;
console.log(num);
}
f2();
}
f1(); //
// 变量的提升
console.log(num);
var num = 100; //undefinded
//函数的声明被提前了
f1();
function f1() {
console.log("这个函数,执行了");
}
报错
f2()
var f2 = function () {
console.log("小杨好帅哦");
};
JS高级---作用域,作用域链和预解析的更多相关文章
- JavaScript函数之作用域 / 作用链域 / 预解析
关于作用域和作用链域的问题,很多文章讲的都很详细,本文属于摘录自己觉得对自己有价值的部分,留由后用,仅供参考,需要查看详细信息请点击我给出的原文链接查看原文件 做一个有爱的搬运工~~ -------- ...
- 第十八篇 js高级知识---作用域链
一直有想法去写写js方面的东西,我个人是最喜欢js这门语言,喜欢的他的自由和强大,虽然作为脚本语言有很多限制的地方,但也不失为一个好的语言,尤其是在H5出现之后.下面开始说说js的方面的东西,由于自己 ...
- 关于js语法中的一些难点(预解析,变量提前,作用域)
******标题很吓人************ 其实就是一个小小的例子 ,从例子中简单的分析一下作用域.预解析和变量提前的概念 <!DOCTYPE html> <html> & ...
- JS高级心法——作用域链
首先我们来看两个js中的代码: <script type="text/javascript"> var c=5; function t1(){ var d=6 f ...
- JS高级——词法作用域
作用域 1.js中没有块级作用域 2.如果有块级作用域,那么下面代码将会是undefined undefined <script> for (var i = 0; i < 10; i ...
- JS高级——Function原型链
基本概念 1.函数可以通过Function new出来,那么Function可以被称作构造函数,被new出来的函数可以被称为一个对象 2.Function既然是构造函数,那么肯定也有原型,它的原型是一 ...
- js的预解析
在ES6之前,变量使用var声明,会存在变量的预解析(函数也有预解析).ES6引了let和const,但是现阶段ES6并没有完全普及,而且很多比较老的代码都还是按照ES5的标准甚至是ES3的标准来书写 ...
- js 预解析
前言 JavaScript是解释型语言是毋庸置疑的,但它是不是仅在运行时自上往下一句一句地解析的呢? 事实上或某种现象证明并不是这样的,通过<JavaScript权威指南>及网上相关资料了 ...
- JS解析+预解析相关总结
[js预解析机制]先来说说js的解析机制吧,浏览器在解析js代码时是从上到下解析的.解析顺序如:(1)预解析 找var和function (2)逐行代码解析 表达式 函数调用 ...
随机推荐
- 【优惠&正版】超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版)
[优惠&正版]超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版) 这个软件的数据恢复效果非常好,在全世界数据恢复软件内是数一数二的. 下载地址 ...
- PHP0005:PHP基础--函数
- Python语法速查: 14. 测试与调优
返回目录 本篇索引 (1)测试的基本概念 (2)doctest模块 (3)unittest模块 (4)调试器和pdb模块 (5)程序探查 (6)调优与优化 (1)测试的基本概念 对程序的各个部分建立测 ...
- linux基础之Mini Linux制作
一.编译一个简单的linux步骤如下: # yum groupinstall ""Development Tools" "Server Platform Dev ...
- jquery form表单赋值封装
;!(function ($) { $.fn.setFormValue = function (options) { var $this = $(this); $.each(options, func ...
- jQuery---京东轮播图
京东轮播图 有个计数的,点右边,计数增加,判断计数是否超过总的长度,超过设置计数为0,再设置当前的图片动画,兄弟的图片动画 左边点击同理,计数是--,判断计数是否等于-1,等于则reset计数为总长度 ...
- JMeter压测MongoDB
1.下载mongo-java-driver驱动 官方驱动: https://mongodb.github.io/mongo-java-driver/ 或者Maven: https://mvnrepos ...
- P5331 [SNOI2019]通信 [线段树优化建图+最小费用最大流]
这题真让人自闭-我EK费用流已经死了?- (去掉define int long long就过了) 我建的边害死我的 spfa 还是spfa已经死了? 按费用流的套路来 首先呢 把点 \(i\) 拆成两 ...
- winform DataGrid排序、去掉第一的空白列
排序: dataGridView1.Sort(dataGridView1.Columns[3], ListSortDirection.Descending); 去掉空白列: dataGridView1 ...
- 解决:java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject报错问题。
利用POI操作PPT一直报如下错误java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject 是因为项目中缺少一个包xmlbeans ...