<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <script>
//1 ====================================================
var a;
if ('a' in window) {
var a = 10;
}
alert(a); //
// 注: in 是一个关键字 用于判断 '属性' in 对象 当前这个属性是否是对象的属性
//2 ====================================================
var foo = 1;
function bar() {
if (!foo) {
var foo = 10;
}
alert(foo); // // 预解析阶段:
// var foo;
// 代码执行阶段:
if(!foo){
foo = 10;
}
alert(foo); }
bar(); // 代码拆分:
// 预解析阶段:
var foo;
function bar(){}
// 代码执行阶段:
foo = 1;
bar(); //3 ============================================================
var num = 123;
function f1(num) {
// var num = 456;
console.log(num); //
}
function f2() { var num = 456;
f1(num);//f1(456)
}
f2(); //4 ===================================================================== function fn(){
var a = 1, b = 1, c = 1;
// var a = 1;
// var b = 1;
// var c = 1;
}
fn();
console.log(c); //1 e
console.log(b); //1 e
console.log(a); //e e function fn1(){
var a = b = c = 1;
var a = 1;
b = 1;
c = 1;
}
fn1();
console.log(c); //
console.log(b); //
console.log(a); // e //5 ================================================================
var a ;
function a(){
console.log('呵呵')
function a(){
a = 4;
console.log('哈哈')
}
a();
console.log(a); //
}
a();
console.log(a); // 外面的a //6 ===================================================================
var a = 1;
function a(){
a++;
}
console.log(a) // // 7 =====================================================================
var a = { x : 1 }
var b = a;
a.x = a = { n : 1};
console.log(a.x); // undefined
console.log(b.x); // {n : 1} </script>
</body>
</html>

JavaScript词法作用域经典练习题的更多相关文章

  1. 网易JS面试题与Javascript词法作用域说明

    调用对象位于作用域链的前端,局部变量(在函数内部用var声明的变量).函数参数及Arguments对象都在函数内的作用域中--这意味着它们隐藏了作用域链更上层的任何同名的属性. 2010年9月14日, ...

  2. JavaScript词法作用域与调用对象

    关于 Javascript 的函数作用域.调用对象和闭包之间的关系很微妙,关于它们的文章已经有很多,但不知道为什么很多新手都难以理解.我就尝试用比较通俗的语言来表达我自己的理解吧. 作用域 Scope ...

  3. JavaScript 词法作用域不完全指北

    在 JavaScript 作用域不完全指北 中,我们介绍了作用域的概念以及 JavaScript 引擎.编译器和作用域的关系.作用域有两种主要的工作模型:词法作用域和动态作用域.其中最为普遍的也是大多 ...

  4. JavaScript词法作用域—你不知道的JavaScript上卷读书笔记(一)

    前段时间在每天往返的地铁上抽空将 <你不知道的JavaScript(上卷)>读了一遍,这本书很多部分写的很是精妙,对于接触前端时间不太久的人来说,就好像是叩开了JavaScript的另一扇 ...

  5. JavaScript的作用域与作用域链

    作用域 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.可以说,变量和函数在什么时候可以用,什么时候被摧毁,这都与作用域有关. JavaScript中,变量的作用域有全局 ...

  6. javascript一个作用域案例分析

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. JavaScript闭包之“词法作用域”

    大家应该写过下面类似的代码吧,其实这里我想要表达的是有时候一个方法定义的地方和使用的地方会相隔十万八千里,那方法执行时,它能访问哪些变量,不能访问哪些变量,这个怎么判断呢?这个就是我们这次需要分析的问 ...

  8. 你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域

    在前一篇文章中,我们把作用域定义为"管理.维护变量的一套规则",接下来是时候来深入讨论一下Js的作用域问题了,首先我们要知道作用域一般有两种主要的工作类型,一种是词法作用域,一种是 ...

  9. 深入理解javascript作用域系列第二篇——词法作用域和动态作用域

    × 目录 [1]词法 [2]动态 前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极 ...

随机推荐

  1. CSRF进阶之打造一个检测CSRF漏洞的脚本

    前言: 还记得之前所学的CSRF漏洞吧.因为没有对表单做好对应的漏洞 而造成的CSRF漏洞.学了这个漏洞后逐渐的了解.这个比较鸡助. 代码: import requests,tqdm,time,os, ...

  2. Web(Easy UI)

    HTML菜鸟教程 http://www.runoob.com/html/html-tables.html EasyUI combobox下拉多选框的实现 https://www.cnblogs.com ...

  3. 转:Ubuntu下下载工具安装--uget+aria2

    原文地址:http://burner1024.blog.163.com/blog/static/17447800420126191858424/ Windows下的下载工具--迅雷,之所以下载速度快, ...

  4. LeetCode题解 #1 Two Sum

    在LeetCode做的第一到题 题目大意:给出n个数,在其中找出和为一个特定数的两个数. Input: numbers={2, 7, 11, 15}, target=9Output: index1=1 ...

  5. BeginInvoke 方法真的是新开一个线程进行异步调用吗?

    转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void tre ...

  6. Program Size: data=9.0 xdata=0 code=47

    data=47.0 编译器编译后,程序总共需要占用47字节的片内RAM空间.注意这个大小仅仅是累加而已,并未考虑各个块之间的空隙,也就是说实际占用的RAM空间可能多于此数值.xdata=0 程序未使用 ...

  7. linux shell find

     find /  -ctime +365 ! -name "*.bat" -exce rm -rf {} \;

  8. openSUSE Linux 忘记root密码的解决方法

    openSUSE Linux 忘记root密码的解决方法 : 对于大部分linux发行版本,忘记root密码的时候,是可以通过单用户模式来重设密码的. 如在redhat/fedora 下,可以通过在启 ...

  9. C++Primer笔记-----day05

    =======================================================================day05======================== ...

  10. Unity Mecanim 动画系统

    1. Animator 组件 Controller:使用的Animator Controller文件. Avatar:使用的骨骼文件. Apply Root Motion:绑定该组件的GameObje ...