详解javascript的变量与标识符


Posted in Javascript onJanuary 04, 2016

一、变量

从字面上看,变量是可变的量;从编程角度讲,变量是用于存储数据的容器

详解javascript的变量与标识符

1.1变量特性

javascript中的变量是松散类型的,可以保存任何类型的数据。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变 

1.2变量命名

变量可以任意取名,但必须遵循命名规则:

[1]第一个字符必须是字母、下划线或美元符号。其他字符可以是字母、下划线、美元符号或数字

//错误示范
 6num //开头不能用数字
 %sum //开头不能用除(_ $)外特殊符号,如(% + /等)
 sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等)

[2]字符中的字母可以包括拓展的ASCII或Unicode字母字符,也可以使用中文

[3]不能使用关键字、保留字、true、false和null

[4]变量对大小写敏感

[5]标识符应采用小驼峰格式,第一位应该是数据的类型,常见的标识如下:

数组

    a    Array

   aItems
布尔值   

    b    Boolean

  bIsComplete
浮点数   

    f

Float

    fPrice
函数

   fn    Function

fnHandler
整数

    i

Integer

iItemCount
对象

   o

Object

  oDIv1
正则表达式       re    RegExp

  reEmailCheck
字符串

      s

String

  sUserName
变量

    v

Variant

vAnything     

1.3变量声明
声明格式为: var 变量名;

var num;//声明一个变量
var num1,num2;//声明多个变量

用var操作符定义的变量将成为定义该变量的作用域中的局部变量。若省略var操作符,可以创建一个全局变量,但在严格模式下会抛出 ReferenceError错误

var num1=1;
num2=2;//在严格模式下会报错
num3;//报错

如果重新声明 JavaScript 变量,该变量的值不会丢失

var carname="Volvo";
console.log(carname);//Volvo
var carname;
console.log(carname);//Volvo

1.4声明提升

javascript中的变量声明会提升到所有函数和语句之前,但提升后的变量将返回undefined,因为只是声明提升,赋值操作并没有提升

console.log(myvar); // undefined
var myvar = "local value";
console.log(myvar); // "local value"

1.5变量赋值

使用"="给变量赋值,也就是存储内容。变量可以在声明时赋值,但不能有其他操作,如+=、-=等

var num = 5;
//上下是等价的
var num;
num = 5;
var a = 2;//正确
var a += 2;//错误
var a = 2++;//错误,++只能用于变量,不能用于常量

二、标识符

标识符是指变量、函数、属性的名字,或者函数的参数 

2.1标识符命名

命名规则同变量命名规则,对于不符合命名规则的属性如border-color应写为大括号方式[borderColor] 

2.2标识符解析

标识符解析是沿着作用域链一级一级地搜索标识符的过程。搜索过程始终从作用域链的前端开始,然后逐级地向后回溯,直到找到标识符为止。

[1]如果局部环境中存在着同名标识符,就不会使用父环境中的标识符

[2]如果找不到标识符,表示标识符尚未声明,通常会导致错误发生

[3]JavaScript引擎在优化标识符查询方面做得不错,访问父环境和局部环境的标识符的时间差别可以忽略不计

var num = 1;
function test(){
 num = 2;
 console.log(num);//2
 console.log(number);//报错
}
test();

以上就是关于javascript的变量与标识符的相关内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 Javascript
jquery BS,dialog控件自适应大小
Jul 06 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
js 获取浏览器版本以此来调整CSS的样式
Jun 03 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
原生js实现选项卡功能
Mar 08 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
详解angular部署到iis出现404解决方案
Aug 14 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
js实现微信聊天界面
Aug 09 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 #Javascript
基于javascript实现窗口抖动效果
Jan 03 #Javascript
理解jquery事件冒泡
Jan 03 #Javascript
实例讲解避免javascript冲突的方法
Jan 03 #Javascript
详解js中class的多种函数封装方法
Jan 03 #Javascript
js中利用tagname和id获取元素的方法
Jan 03 #Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 #Javascript
You might like
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python列表切片用法示例
2017/04/19 Python
Python实现进程同步和通信的方法
2018/01/02 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python梯度下降法的简单示例
2018/08/31 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
python Xpath语法的使用
2020/11/26 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
抽奖活动主持词
2014/03/31 职场文书
银行求职信范文
2014/05/26 职场文书
英语课外活动总结
2014/08/27 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
立项申请报告范本
2015/05/15 职场文书
心灵点滴观后感
2015/06/02 职场文书
运动会通讯稿50字
2015/07/20 职场文书
golang日志包logger的用法详解
2021/05/05 Golang