JavaScript---function、this关键字相关习题

时间:2021-04-04 21:43:11

1. 请看下列代码:

  function F( ){

    function C( ){

      return this;

    }

    return C();

  }

  var o=new F( );

  请问上面的this值指向的是全局对象还是对象o?

  答案:上面的this值指向的是全局对象(window)

  相关链接:http://www.cnblogs.com/cyl-record/p/3472758.html

2. 下面代码的执行结果是什么?

  function C( ){

    this.a=1;

    return false;

  }

  console.log(typeof new C());

  答案:object;  因为题设中typeof的参数是new C( ) ,是一个对象;

    此题中,this.a 此时this指向的是全局变量window,因而,this.a相当于window.a ,所以,a是全局变量,在函数外也可以访问;

3. 下面这段代码的执行结果又将是什么?

  var c=[1,2,[1,2]];

  c.sort();

  结果:[1, [1, 2], 2]   解析:试了下,好像是比较[1,2]中的第一个元素

  c.join('--');

  结果:"1--2--1,2"   解析:数组c的元素[1,2]被当做一个整体处理

  console.log(c);

  结果:[1, 2, [1, 2]]   解析:按数组的方式直接打印输出