闭包作用域练习

news/2024/7/19 16:07:42 标签: js, javascript, proxy

1、

javascript">var a = 10,
    b = 11,
    c = 12;
function test(a) {
    a = 1;
    var b = 2;
    c = 3;
}
test(10);
console.log(a, b, c);

在这里插入图片描述

2、

javascript">var a = 4;
function b(x, y, a) {
    console.log(a);
    arguments[2] = 10;
    console.log(a);
}
a = b(1, 2, 3);
console.log(a);

在这里插入图片描述

3、

javascript">function fn(x, y) {
    /!*
     * EC(FN)
     *   作用域链:<EC(FN),EC(G)>
     *   初始ARGUMENTS: {0:10,length:1} 
     *   形参赋值:x=10 y=undefined
     *      「映射关系」  x->arguments[0]
     *   变量提升:--
     *!/
    let arg = arguments;
    x = 100;
    console.log(arg[0]); //=>100

    arg[1] = 200;
    console.log(y); //=>undefined
}
fn(10); 

在这里插入图片描述

4、

javascript">var a = 9;
function fn() {
    a = 0;
    return function (b) {
        return b + a++;
    }
}
var f = fn();
console.log(f(5));
console.log(fn()(5));
console.log(f(5));
console.log(a);

在这里插入图片描述

5、

javascript">var x = 4;
function func() {
    return function(y) {
        console.log(y + (--x));
    }
}
var f = func(5);
f(6);
func(7)(8);
f(9);
console.log(x);

在这里插入图片描述

6、

javascript">function fun(n, o) {
    console.log(o);
    return {
        fun: function (m) {
            return fun(m, n);
        }
    };
}
var c = fun(0).fun(1);
c.fun(2);
c.fun(3);

在这里插入图片描述


http://www.niftyadmin.cn/n/658432.html

相关文章

[bzoj3998][TJOI2015]弦论_后缀自动机

弦论 bzoj-3998 TJOI-2015 题目大意&#xff1a;给定一个字符串&#xff0c;求其$k$小子串。 注释&#xff1a;$1\le length \le 5\cdot 10^5$&#xff0c;$1\le k\le 10^9$。 想法&#xff1a; 后缀数组傻逼题。 初学后缀自动机我们尝试用后缀自动机解决。 首先先建出$SAM$。 …

leeCode344_反转字符串

一、题目内容 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的…

可以任意拖拽的浮动广告[转]

原作者&#xff1a;不详 &#xff1b; 转自&#xff1a;不详<STYLE typetext/css>#floater { Z-INDEX: 10; LEFT: 500px; VISIBILITY: visible; WIDTH: 125px; POSITION: absolute; TOP: 146px}</STYLE> <STYLE typetext/css>TD { FONT-SIZE: 9pt; LINE-HE…

设计模式之代理,手动实现动态代理,揭秘原理实现

前言 开心一刻 周末&#xff0c;带着老婆儿子一起逛公园。儿子一个人跑在前面&#xff0c;吧唧一下不小心摔了一跤&#xff0c;脑袋瓜子摔了个包&#xff0c;稀里哗啦的哭道&#xff1a;“爸爸&#xff0c;我会不会摔成傻子&#xff01;” 我指了指我头上的伤痕安慰道&#xff…

写日志--nnlog

日志的级别&#xff1a;由低到高分 debug:调试info :warning:error: import nnlog# my_lognnlog.Logger(nhy.log,levelinfo)#默认是debug级别my_lognnlog.Logger(nhy.log,whens,backCount6)#默认是debug级别&#xff0c;不写默认是5个日志#when,s表示按照秒来生成日志&#xff…

JScript中prototype属性应用讲解

prototype 属性 返回对象类型原型的引用。 objectName.prototype objectName 参数是对象的名称。 说明 用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。 例如&#xff1a; 要为 Array 对象添加返回数组中最大元素值的方法。 要完成…

JS如何检查对象是否为Array ???

一、简介 在 JS 中使用数组是一种常见操作&#xff0c;有时在开发中&#xff0c;获得一个需要作为数组的变量&#xff0c;但是我们不确定它是否是数组&#xff0c;那要怎么去判断是否为数组呢? JS 中的非原始数据类型都是对象&#xff08;函数具有自己的类型&#xff0c;但它…

模板 - 数学 - 扩展中国剩余定理/扩展卢卡斯定理

中国剩余定理&#xff1a; 求同余方程组 $xc_i\ mod\ m_i m_i$ 两两互质的最小非负整数解。 结论&#xff1a; $M\prod\limits_{i1}^{k}m_k$ $x\sum\limits_{i1}^{k}c_i*\frac{M}{m_i}*inv(\frac{M}{m_i},m_i)\ \%\ M$ using namespace std; #define LL long longLL k,l,r,n,M,…