js 题目 —— console.log()
1. 函数、变量 作用域
(1)
Foo()
  function Foo () {
    console.log(this.getName())
  }
  var getName = function () {
    console.log(4)
  }
  Foo()
  function getName () {
    console.log(5)
  }
  Foo() 
(2)
Foo()
  function Foo () {
    getName = function () {
      console.log(1)
    }
    console.log(this.getName())
  }
  var getName = function () {
    console.log(4)
  }
  Foo()
  function getName () {
    console.log(5)
  }
  Foo() 
(3)
function Foo () {
    getName = function () {
      console.log(1)
    }
    return this
  }
  Foo.getName = function () {
    console.log(2)
  }
  
  new Foo.getName() 
(4)
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()
  getName()
  Foo().getName()
  getName()
  new Foo.getName()
  new Foo().getName()
  new new Foo().getName() 
(5)
function test() {
    console.log(1, this)
    return function() {
      console.log(2, this)
      return function () {
        console.log(3, this)
      }
    };
  };
  document.querySelector("input").addEventListener(input, test()()); 
(6)
for (var i = 0; i <10; i++) {  
    setTimeout(function() { 
      console.log(i);  
    }, 0);
  }
  for (let i = 0; i <10; i++) {  
    setTimeout(function() { 
      console.log(i);  
    }, 0);
  } 
数组方法: 添加的都返回长度,删除的都返回删除的元素。
slice VS splice:
【答案】:
1.
(1) 5 4 4
(2) 1 1 1
(3) 2
(4) 2 4 1 1 2 3 3
(5) 页面初始化 this-> window window. (input输入值后 this-> input)
(6) 10 个 10; 0 1 2 3 4 5 6 7 8 9
下一篇:
			            一文读懂前端与HTML5技术的区别! 
			          
			        
