js面试题

闭包练习题

 		var a = 9;
        function fn() {
            a = 0;
            return function (b) {
                return b + a++;
            }
        }
        var f = fn();
        console.log(f(5));//5
        console.log(fn()(5));//5
        console.log(f(5));//6
        console.log(a);//2

视频地址

数据类型练习题

		var ary = [1, 2, 3, 4];
        function fn(ary) {
            ary[0] = 0;
            ary = [0];
            ary[0] = 100;
            return ary
        }
        var res = fn(ary);
        console.log(ary);//[0, 2, 3, 4]
        console.log(res);//[100]
  • 私有变量和全局变量没有直接的关系,但是可能存在间接的关系;
  • 间接关系:私有变量和全局变量都是引用数据类型的值,而且指向的是相同的堆内存
    视频地址

闭包练习题

		function fn(i) {
            return function (n) {
                console.log(n + (i++));
            }
        }
        var f = fn(10);
        f(20);//30
        fn(20)(40);//60
        fn(30)(50);//80
        f(30);//41

视频地址

闭包和this综合练习题

 		var num = 10;
        var obj = { num: 20 };
        obj.fn = (function (num) {
            this.num = num * 3;
            num++;
            return function (n) {
                this.num += n;
                num++;
                console.log(num);//22 23
            }
        })(obj.num)
        var fn = obj.fn;
        fn(5)
        obj.fn(10);
        console.log(num, obj.num);//65 30

视频地址

关于this指向的面试题

		var fullName = 'language';
        var obj = {
            fullName: 'javasript',
            prop: {
                getFullName: function () {
                    return this.fullName;
                }
            }
        }
        console.log(obj.prop.getFullName());//undefined
        var test = obj.prop.getFullName;
        console.log(test());//language
 		var name = 'window';
        var Tom = {
            name: "Tom",
            show: function () {
                console.log(this.name);//window
            },
            wait: function () {
                var fun = this.show;
                fun();
            }
        };
        Tom.wait();

视频地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值