• 作用域以及类、实例


    栈内存  js执行的环境  (作用域)

    堆内存  存放代码的空间   存放方式     键值对的形式存     字符串的形式存

    作用域的形成:

      浏览器天生有一个全局叫window

      函数执行的时候会形成一个私有的

    作用域链:

      js执行代码之前,浏览器会给他一个全局作用域叫window,在window下会分两个模块 一个内存模块,一个执行模块。 内存模块 会找到所有关键字 var 和function ,并分配给他们一个内存地址;执行模块  浏览器从上到下执行   遇到变量会去内存地址查找这个变量是否存在,如果不存在就是xxx  is   not   defined ,如果存在就看有没有赋值,赋值了就直接操作,没有就去他的上一级的内存模块查找,直到window为止。没有赋值就是undefined。这种查找机制叫作用域链。

    注:如果普通变量和函数变量名相同,最后保留函数变量

    =赋值运算

        赋值运算     就是把后面的数据类型赋值给等号前面的变量。

        数据类型分两种情况

          1、基本数据类型   (number   boolean  string   null  undefined)直接将数据赋值给前面的变量

          2、引用(复合)数据类型 (object  array   function)将内存地址赋值给前面的变量

     object和json的区别

        1、长得一样 ,都是以键值对的形式书写,object的key值可以不加引号,但是json必须加

        2、object是前段的数据类型    json 是数据库存放的数据格式

     类和实例的关系

        1、每个类都有一个prototype的属性,属性是对象,里面有一个constructor的属性,属性值就是类本身

        2、每个实例对象都有一个__proto__的属性,属性是对象,它指向当前类的原型

     __proto__ 和prototype

      二者都是原型 ,前者是查找属性对的,后者是存放属性的 ,前者是给浏览器使用的,后者是给开发者使用

  • 相关阅读:
    使用vimdiff作为svn diff的查看代码工具
    Source Insight :在 { 后敲回车后让代码自动缩进
    关于浏览器内核的一些小知识
    Linux内存点滴 用户进程内存空间
    自定义eclipse代码模板
    sqlplus 小记
    LD_PRELOAD的用法 以及链接库的用法
    如何更方便的使用sooset
    [hadoop源码阅读][0]初衷和各种资源
    hadoop streaming和pipes资料
  • 原文地址:https://www.cnblogs.com/gdqx/p/10250327.html
Copyright © 2020-2023  润新知