• JavaScript变量


    一、命名

      (一)、方法

        1、匈牙利命名法:变量名=类型+对象描述

          Int 整型:i,Float 浮点:fl,Boolean 布尔:b,String 字符串:s,Array 数组:a,Object 对象:o,Function 函数 :fn,Regular Expression 正则:re

        2、驼峰命名法://大小写混合转全部大写的方法

         (1)、全部小写:单词与单词间使用下划线分割    //first_name

         (2)、大小写混合

            2.1.1、大驼峰:每个单词首字母大写    //FirstName

            2.1.2、小驼峰:第一个单词小写,其余的大写    //firstName

      (二)、规则

        1、音节符:英文字母或下划线

        2、组成:英文字母、数组、下划线

        3、禁忌:JavaScript关键字、保留字  //相关链接

    二、声明

      (一)、显示声明

        var 变量名,es6:let 变量名,const 变量名

      (二)、陋习

        1、没有类型    //例如数组、对象等

        2、重复声明

        3、隐式声明

        4、不声明直接赋值

      (三)、正确操作

        1、先声明,后读写;先赋值,后运算

    三、变量类型

      (一)、值类型

        1、占用空间固定,保存于栈中

        2、保存与复制的是值本身

        3、使用typeof检测数据类型

        4、基本数据类型是值类型

      (二)、引用类型

        1、占用空间不固定,保存于堆中

        2、保存与复制的是指向对象的一个指针

        3、使用instanceof检测数据类型

        4、使用new()方法构造出的对象是引用型

    四、作用域

      (一)、全局变量:在任何位置调用

        1、在函数体外最外层定义的变量

        2、在函数内部定义的无var、let、const声明的变量

      (二)、局部变量:当前函数内部使用

        1、在函数体内用var、let、const声明的变量

        2、函数的参数变量

      (三)、优先级:局部变量 > 参数变量 > 全局变量

        1、局部变量高于同名全局变量

        2、参数变量高于同名全局变量

        3、局部变量高于同名参数变量

      (四)、特性

        1、var无块级作用域,es6新增let块级作用域定义变量

        2、全局变量是全局对象的属性,局部变量是调用对象的属性

        3、作用域链    //相关说明

         (1)、内层函数可以访问外层函数的局部变量

         (2)、外层函数不能访问内层函数的局部变量

        4、声明周期

         (1)、全局变量:除非被显示删除,否则一直存在    //var声明的全局变量无法使用delete删除

         (2)、局部变量:自声明起到函数运行结束或被显示删除

         (3)、回收机制:标记清楚、引用计数    //相关说明

  • 相关阅读:
    游戏中的有限状态机 (StateMachine)
    关于在Cocos下面配置开发环境、编译移植到android上面的奇葩问题小结
    As3.0中的Dictionary使用测试
    Nginx(一)--nginx的初步认识及配置
    布隆过滤器的demo
    redis(7)--redis应用实战
    redis(6)--redis集群之分片机制(redis-cluster)
    redis(5)--redis集群之哨兵机制
    redis(4)--redis集群之主从复制
    redis(3)--redis原理分析
  • 原文地址:https://www.cnblogs.com/detanx/p/JavaScriptVar.html
Copyright © 2020-2023  润新知