美文网首页
javascript基础题目

javascript基础题目

作者: 小麻烦爱学习 | 来源:发表于2020-06-30 20:32 被阅读0次

题目一

var x = 1;
    function func(x, y = () => {
        // 5,闭包:函数的执行依赖变量作用域,这个作用域是在函数定义时决定的.
        //调用func时才定义这个方法,此时x=5
        console.log(x); 
        x=2
    }){
        var x = 3;
        y();
        console.log(x); // 当前块级作用域x=3
    }
    func(5);
    console.log(x); // 全局作用域x=1

题目二

function Foo() { getName = function () { console.log(1); }; return this; }
Foo.getName = function () { console.log(2); };
Foo.prototype.getName = function () { console.log(3); };
var getName = function () { console.log(4); };
function getName() { console.log(5); }

Foo.getName();//2
getName();//4
Foo().getName();//1
getName();//1

new Foo.getName(); // 2;等价于 new Foo.getName,使用new调用构造函数,圆括号不是必须的
new Foo().getName(); //3; 等价于(new Foo()).getName(),为什么不是new (Foo().getName())
new new Foo().getName(); // 3; 等价于 => new (new Foo().getName)()
// new () . 三者运算符的优先级是什么样的?结合规律是什么?
var a = [0];
if ([0]) {
  console.log(a == true); // 竟然是false
} else {
  console.log("wut");
}

相关文章

网友评论

      本文标题:javascript基础题目

      本文链接:https://www.haomeiwen.com/subject/afbtqktx.html