JavaScript之变量

来源:互联网 发布:淘宝垃圾流量的坏处 编辑:程序博客网 时间:2024/05/29 04:44

一、命名

1、方法

i.匈牙利命名

变量名 = 类型 + 对象描述
类型:

  1. Int 整型 i
  2. Float 浮点 fl
  3. Boolean 布尔 b
  4. String 字符串 s
  5. Array 数组 a
  6. Object 对象 o
  7. Function 函数 fn
  8. Regular Expression 正则 re

ii.驼峰命名法

a.全部小写

单词与单词之间用下划线分割

b.大小写混合

大驼峰:每个单词首字母大写
小驼峰:第一个单词首字母小写,其他首字母大写

2、规则

i.首字符:英文字母或者下划线

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

iii.禁忌:JavaScript关键词与保留字

二、声明

1、显示声明

var 变量名

2、陋习

  1. 没有类型
  2. 重复声明
  3. 隐式声明
  4. 不声明直接赋值

3、正解

  1. 先声明,后读写
  2. 先赋值,后运算

三、变量类型

1、值类型

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

2、引用类型

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

四、作用域

1、全局变量

i.包含

a.在函数体外定义的变量
b.在函数体内部定义的无var的变量

ii.调用

a.任何位置

2、局部变量

i.包含

a.在函数内部使用var声明的变量
b.函数的参数变量

ii.调用

a.当前函数体内部

3、优先级

i.局部变量高于同名全局变量

ii.参数变量高于同名全局变量

iii.局部变量高于同名参数变量

4、特性

i.忽略块级作用域

ii.全局变量是全局对象的属性

iii.局部变量是调用对象的属性

iv.作用域链

a.内层函数可访问外层函数局部变量
b.外层函数不能访问内层函数局部变量

v.生命周期

a.全局变量:除非被显示删除,否则一直存在
b.局部变量:子声明起至函数运行完毕或被显示删除
c.回收机制:1、标记清除;2、引用技术
0 0
原创粉丝点击