zoukankan      html  css  js  c++  java
  • JavaScript 随笔之变量

    JavaScript 变量用于保存值或者表达式。

    变量命名

    • 方法:

      • 匈牙利命名法:  变量名=类型+对象描述
        • Int 整型 —— i 
        • Float 浮点 —— fl 
        • Boolean 布尔 —— b
        • String 字符串 —— s
        • Array 数组 —— a
        • Object 对象 —— o
        • Function 函数 —— fn
        • Regular Expression 正则 —— re
      • 驼峰命名法:     
        • 全小写 —— hello_world、little_boy、big_house_man
        • 大小写混合:
          • 大驼峰 —— HelloWorld、LittleBoy、BigHouseMan
          • 小驼峰 —— helloWord、littleBoy、bigHouseMan 
              • 类                             ——>   大驼峰命名 
              • 变量名、函数名、对象名 ——>   小驼峰命名  
    • 规则:

      • 首字符 —— 英文字母 || 下划线
      • 组成 —— 英文字母、数字、下划线
      • 禁忌 —— JavaScript 关键词和保留字 
      • 注意 —— JavaScript变量对大小写敏感

    变量声明

    • 显示声明 —— var 变量名

    • 出现问题:

      • 没有类型
      • 重复声明
      • 隐式声明
      • 不声明直接赋值
    • 正确做法:

      • 先声明,后读写
      • 先赋值,后运算

    变量类型

    • 值类型

      1. 占用空间固定,保存在栈中
      2. 保存与复制的是值本身
      3. 使用 typeof 检测数据的类型
    • 引用类型

      1. 占用空间不固定,保存在堆中
      2. 保存与复制的是指向对象的一个指针
      3. 使用 instanceof 检测数据的类型
      4. 使用 new() 方法构造出的对象是引用型 

    作用域

    • 全局变量

      • 包含:
        • 在函数体外定义的变量
        • 在函数体内部定义的无 var 的变量
      • 调用:
        • 任何位置都可以
    • 局部变量

      • 包含:
        • 在函数内部使用 var 声明的变量
        • 函数的参数变量
      • 调用:
        • 在当前函数的内部
    • 同名优先级

      • 局部变量 > 同名参数变量 > 同名全局变量 
    • 特性

      • 全局变量是全局对象的属性
      • 局部变量是调用对象的属性
      • 作用域链:
        • 内层函数可以访问外层函数的局部变量
        • 外层函数不能访问内层函数的局部变量
      • 生命周期:
        • 全局变量 —— 除非被删除,否则一直存在
        • 局部变量 —— 自声明起 至 函数运行完毕/被删除
        • 回收机制 —— 标记清除,引用计数
  • 相关阅读:
    【CodeForces 438D 】The Child and Sequence
    【雅礼集训 2017 Day1】市场
    【POJ2528】Mayor's posters
    【NOIP模拟】图论题Graph
    【BZOJ2654】Tree
    【NOIP模拟】函数
    【NOIP模拟】箱子
    【CQOI2014】数三角形
    【USACO2009Feb】股票市场
    【APIO2009-3】抢掠计划
  • 原文地址:https://www.cnblogs.com/Dance-yang/p/3615437.html
Copyright © 2011-2022 走看看