详解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 相关文章推荐
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
jQuery实现获取绑定自定义事件元素的方法
Dec 02 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
layui表格实现代码
May 20 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
vue filter 完美时间日期格式的代码
Aug 14 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 Vue.js
Python机器学习之决策树和随机森林
Jul 15 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 短链接算法收集与分析
2011/12/30 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
JavaScript 拾漏补遗
2009/12/27 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
checkbox使用示例
2013/08/23 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
js闭包实例汇总
2014/11/09 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
Python 描述符(Descriptor)入门
2016/11/20 Python
python中defaultdict的用法详解
2017/06/07 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
毕业自我鉴定怎么写
2014/03/25 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
2014年保卫工作总结
2014/12/05 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书