• JavaScript作用域,面向对象


    一、作用域

    python   :以函数作为作用域

    JavaScript 作用域

     -------------------------1.默认以函数作为作用域---------------------

    function func(){
         if (1==1){
              var name = 'xiaoming';
         }
         console.log(name);
    }
    func();

    --------------------------2.函数的作用域在函数未被调用之前,已经创建-------------------------

    function func(){
         if (1==1){
              var name = 'xiaoming';
         }
         console.log(name);
    }

    -------------------------3.函数的作用域存在作用域链,并且也是在被调用之前创建-------------------

    xo = 'liyang' //4
    function func(){
    var xo = 'eric'; //3
    function inner(){
    xo = 'xiaohong' //1
    console.log(xo);
    }
    var xo = 'tony' //2
    return inner;
    }
    var ret = func()
    ret()

    结果返回1 ,没有1就返回2,没有1和2返回3,123没有返回4,都没有报错

    ----------------------------4.函数内局部变量提前声明--------------------------------

    function func(){
       console.log(xxoo);
       var xxoo = 'liyang';
    }
    func()

    结果找不到变量,undefined

    二、面向对象

    函数:

    function Foo(n){
       this.name = n;
    }
    var obj = new Foo('we');


    a.this代指对象(python self)
    b.创建对象时,new 函数()

    原型(类似python的__init__):

    function Foo(n){
    this.name = n;
    }
    Foo.prototype = {
       'sayName':function(){
        console.log(this.name)
      }
    }

    obj1 = new Foo('we');
    obj1.sayName()
    obj2 = new Foo('wee');

  • 相关阅读:
    Spark概念介绍
    KVM web管理工具——WebVirtMgr(一)
    Spark集群搭建
    阿里云DTS VS MySQLdump
    MySQL性能分析和优化-part 1
    为什么logstash进程的CPU使用率100%?
    技本功丨互联网+工业视觉异常检测分析
    Spark集群管理器介绍
    某云下系统上云方案及成本计算
    企业混合云架构设计
  • 原文地址:https://www.cnblogs.com/brownyangyang/p/9191802.html
Copyright © 2020-2023  润新知