zoukankan      html  css  js  c++  java
  • this面试题

    // 考题1
    /*function Fn() {
    console.log(this);//window
    }
    Fn();
    new Fn();//Fn实例
    Fn.apply(Fn); //将this指向Fn,所以输出function Fn(){console.log(this)}

    /*---------------------------------------------------------*/

    // 考题2
    /*var o = {
    f : function () {
    console.log(this);
    },
    2 : function () {
    console.log(this);
    }
    };
    o.f();//o
    o[2]();//o
    new o[2]();//new出来的新实例
    o.f.call([1,2]);/[1,2](更改了this指向)
    o[2].call([1,2,3,4]);*///[1,2,3,4]

    /*---------------------------------------------------------*/

    /*var name ='out';
    var obj ={
    name:'in',
    prop:{
    name:'inside',
    getName:function(){
    return this.name;
    }
    }
    };
    console.log(obj.prop.getName());
    var test = obj.prop.getName;
    console.log(test());
    console.log(obj.prop.getName.apply(this));*/

    /*-------------------------------------------------------*/

    // 考题3
    /*var length = 10;
    function fn() {
    console.log(this.length);
    }
    var obj = {
    length: 5,
    method: function (f) {
    f();//10
    // arguments[0] 可以获取到传入method方法的第一个实参
    arguments[0]();//1  (arguments是一个伪数组对象,他的第一个参数是fn函数,他调用fn函数,所以this指的是arguments)
    arguments[0].call(this);//5(改变fn的指向,这里的this是method)
    }
    };
    obj.method(fn);*/

    /*---------------------------------------------------------*/

    // 考题4
    var scope = 'global';
    function log() {
    console.log(this.scope + ':' + arguments[0]);
    }
    var dog = {
    scope : 'dog',
    yelp : function () {
    var scope = 'dog.yelp';
    log('wow');
    }
    };

    dog.yelp();//global:wow
    dog.yelp.apply(dog);//global:wow
    log.call(dog, 'created');//dog:created

    /*---------------------------------------------------------*/

  • 相关阅读:
    linux centos下载地址
    什么是镜像文件?
    Linux下处理JSON的命令行工具:jq---安装
    CentOS7安装第三方yum源EPEL
    CentOS 6.5 下编译安装 Nginx 1.8.0
    CentOS 6.7 如何启用中文输入法
    Linux Yum 命令使用举例
    YUM 安装及清理
    Linux常用命令之rpm安装命令
    使用git代替FTP部署代码到服务器的例子
  • 原文地址:https://www.cnblogs.com/luxiaoxiao/p/6103106.html
Copyright © 2011-2022 走看看