• 002 JS模块机制


     代码模块

    Require

    .1. 加载指定代码 并执行

    1. 第二次加载不执行  ,但会执行module.exports

    require返回值  module.exports= “dddd”,函数,

     Var 模块名=require(“模块文件”)

    模块名.函数

     

    This 机制

    函数.call 显式的传递this

    function my_func(){

      console.log(this);

    }

    my_func.call({});

     

    var tools={

       myfunc:my_func

    }

    tools.myfunc();  //.函数key()  -->  this - ->  表隐式

     

    //强制绑定this

    var newf=my_func.bind({name:"gaga到底"});

    newf();

    //This 回调机制

    /*

    在函数里面访问this,this由调用的环境来决定 不确定 不使用

    显式的传递this,函数.call(this对象,参数)

    隐式的传递this,.key函数(参数),   this-- >

    强制bind this 优先级最高.

    */

    参考文章

    别再为了this发愁了------JS中的this机制

    https://www.cnblogs.com/front-Thinking/p/4364337.html

     

     

    New与构造函数

    每一个函数都有一个表 prototype

     

    New  类似 其他语言创建一个类

    1创建一个新表

    2 创建一个新表 this 传递 调用person函数

    3 person构造函数里面prototype这个表赋值到新的表的.__proto___

    4 返回这个新表

    模拟了 类和 实例

     

    console.log(Math.PI);//prototype); 
    
    function person (name,age){ 
    
      this.name=name;
    
    this.age=age;
    
    }
    person.prototype.get_age=function(){
      return this.age;
    }
    
    console.log(person.prototype);
    
    var b=new person("b",220) 
    
    console.log(person.prototype);
    
    console.log(b);
    
    console.log(b.__proto__);
    
    console.log(b.get_age());

     

     

     

     

     

  • 相关阅读:
    rqnoj71 拔河比赛
    NOI2002 洛谷 P1196 银河英雄传说
    sdibt 1244 烦人的幻灯片
    POJ 1273 Drainage Ditches -dinic
    NOIP2005提高组 过河
    OpenJudge 7627 鸡蛋的硬度
    Openjudge 8782 乘积最大
    OpenJudge 7624 山区建小学
    UVa 1328 Period
    UVa 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/iflii/p/10189797.html
Copyright © 2020-2023  润新知