Home  >  Article  >  Web Front-end  >  An in-depth analysis of JavaScript's in-depth and easy-to-understand problems

An in-depth analysis of JavaScript's in-depth and easy-to-understand problems

零到壹度
零到壹度Original
2018-04-02 16:30:261426browse

This article shares with you an in-depth analysis of JavaScript's in-depth and simple operation details. The content is quite good. I hope it can help friends in need.

1. Function actual Passed parameters can be obtained through arguments.

2.arguments is an array-like object, and the prototype is not Array.prototype, so there are no array methods such as join;

3.foo(1,2), arguments[2] Because no parameters are passed in, the binding relationship is lost,

foo(x,y,z){
arguments[1]=12  //y=12
arguments[2]=13;//z仍然未定义
}
foo(1,2);

But if it is in strict mode, arguments are always a copy of the parameters passed in, so the actual parameters cannot be modified; and arguments.calle is also prohibited from being used. of.

4.

this.x=9;
    var module={
        x:81,
        getX:function(){
            console.log(this.x);
        }
    };
    module.getX();
    var getX=module.getX;//将module的属性赋给getX变量
    getX();//这时候的this应该指向全局变量
    //为了理解,个人认为也可以看做getX=function(){return this.x;} getX()
    var boundGetX=getX.bind(module);//绑定module对象
    boundGetX();

5.bind has the function of currying, binding some parameters, and then only needs to pass in the remaining parameters

function add(a,b,c){
    console.log(a+b+c);
   }
    var func=add.bind(undefined,100);//this暂时是undefined
    func(1,2);
    var func2=func.bind(undefined,200);//注意这里是func
    func2(10);

Note that in new, bind will be ignored, because the prototype is returned as an empty object of the prototype attribute of the new constructor (if there is no returned object)

function foo(){
        this.a=100;
        return this.b;
    }
    var func=foo.bind({b:2});
    console.log(func());//2
    var o=new func();
    console.log(o);//foo {a: 100}

6.bind method simulation ( Leave it aside for now)


Related recommendations:

JavaScript in simple terms

First introduction to JavaScript in simple terms

JavaScript in simple terms (advanced)

The above is the detailed content of An in-depth analysis of JavaScript's in-depth and easy-to-understand problems. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn