zoukankan      html  css  js  c++  java
  • 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');

  • 相关阅读:
    【SQL】CASE与DECODE
    【SQL】通过rowid查找及删除重复记录
    【SQL】联合语句
    【PLSQL】游标
    【SQL】IN、EXISTS和表连接三者的效率比较
    【SQL】CONNECT BY 层次化查询
    【SQL】MERGE
    【SQL】多表查询
    【Python算法】遍历(Traversal)、深度优先(DFS)、广度优先(BFS)
    【Python算法】归纳、递归、归简
  • 原文地址:https://www.cnblogs.com/brownyangyang/p/9191802.html
Copyright © 2011-2022 走看看