zoukankan      html  css  js  c++  java
  • 高级程序设计JavaScript


    JavaScript简介

    一、因何而生:

    方便 表单验证操作(输入验证器)
    1995年 2月 Netscape 布兰登 艾奇

    JavaScript是一种专门为与网页交互而设计的脚本语言。

    二、实现组成:
    • 核心:ECMAScript【ECMA—262】语言基础(规定:语法、类型、语句、关键字、保留字、操作符、对象)
    • 文档对象模型DOM:访问和操作页面内容的方法和接口,对节点树的增、删、改、查的操作。
      DOM1级:文档对象结构|DOM2级:视图、事件、样式、遍历和范围等模块|DOM3级:文档加载、保存;验证文档
    • 浏览器对象模型BOM:访问和操作浏览器窗口(弹出、移动缩放关闭、浏览器版本、页面详情location、显示器分辨率、cookie、等自定义)。

    对象

    用户对象:程序员自行创建的对象。

    内建对象:预先定义好的,拿来就能用的对象。
    Array对象、Math对象、Date对象

    宿主对象:由浏览器提供的预先定义好的对象。
    From Image Element

    js垃圾收集

    自动垃圾回收机制,执行环境负责管理代码执行过程中使用发的内存。

    原理:找到不再继续使用的变量,然后释放其占用的内存。垃圾收集器会按照固定时间间隔周期性执行这一操作。

    局部变量生命周期:
    函数执行——局部变量在堆/栈分配相应的空间以便存储相应的值;

    函数结束——释放内存。

    有用?没用?

    • 标记清除:“进入环境——标记,被用的变量去标签;再标记重复的变量准备删除;内存清除。”
    • 引用计数(遗弃):“跟踪变量引用+1,再引用+1;删除引用计数为0清除。”

    总结:

    js变量可以用来保存两种数据类型的值:基本类型值、引用类型的值。

    基本:underfined null boolean bunber string

    特点:
    基本类型值在内存中占据固定大小的空间,保存在栈内存中;
    从一个变量向另一个变量复制基本类型的值,会创建这个值得一个副本;
    引用类型的值是对象,保存在堆内存;
    从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终始终都指向同一个对象。

    判基本类型:typeof; 判一个值是哪一种引用类型instanceof:


    纯属个人观点,仅供参考!

  • 相关阅读:
    python-函数作用域
    python-yield
    python-内置函数
    python-迭代和递归
    Command /usr/bin/codesign failed with exit code 1
    vue-infinite-scroll 自动加载
    git登陆迁移 SourceTree 不能自动识别
    Xcode不自动提示代码
    NSTimer的循环引用
    iOS autolayout 代码,自定义间距
  • 原文地址:https://www.cnblogs.com/yancongyang/p/7009679.html
Copyright © 2011-2022 走看看