zoukankan      html  css  js  c++  java
  • JS(JavaScript)的进一步了解3(更新中···)

     

    数据的三种存储方式

    1. String   “ ”
    2. Array    [ ]
    3. Json    { }

     

    所有编程语言java c python c++ 等 他们都是面向对象编程,面向对象必须有三大特点,封装,继承,多态.

    今天就是研究JS如何生成对象。

    1. 面向对象

    Js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差。

    所以作者就收到javac的影响,往面向对象靠齐。Js天生有一个Object,但他没有面向对象的特征(封装,继承,多态)。

    最后研究出了构造函数。

    构造函数最终目的是生成对象。

    我们把封装的那个函数叫

    类里面的属性是私有的。

    类原型上的属性是公有的,可继承的

      1)类身上天生自带一个prototype的属性,属性是对象

      2)Prototype对象天生有一个constructor属性,属性值就是类本身

      3)实例天生有一个__proto__ 指向你自己类的原型

      

      原型链主要针对对象的属性来说的

      作用域链主要针对变量来说的

      

      var aa的区别

       没有带var的变量就不能存放到内存地址中。就没有变量提升这种说法了。相当于给window加了一个属性window.a

       带var 可以存放在内存地址中,有变量提升,同时也相当于给window加了一个属性window.a

     

     函数:

     

    函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包。这就意味着函数调用完

    毕,这个函数形成的栈内存会被销毁。

    但有时候我们不希望他被销毁。

    函数归属谁跟它在哪调用没有关系,跟在哪定义有关。

    Fn()调用完毕后得到的是一个匿名函数,但是这个函数在fn这个作用域下定义的,所以这个匿名函数内部的变量在fn作用域

    下查找。这种写法可以使函数内部的变量不被销毁。

     

  • 相关阅读:
    JavaScript通过正则随机生成电话号码
    (转载)JavaScript递归查询 json 树 父子节点
    JavaScript中批量设置Css样式
    (转载)Javascript removeChild()不能删除全部子节点的解决办法
    Ajax技术实现页面无刷新跳转
    (转载)js(jquery)的on绑定点击事件执行两次的解决办法
    Chrome浏览器 js 关闭窗口失效解决方法
    JavaScript随机数区间限制
    100天搞定机器学习|Day55 最大熵模型
    50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
  • 原文地址:https://www.cnblogs.com/zff123/p/9985067.html
Copyright © 2011-2022 走看看