详解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 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
jQuery对象与DOM对象之间的相互转换
Mar 03 Javascript
javascript表格的渲染组件
Jul 03 Javascript
Bootstrap每天必学之日期控制
Mar 07 Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
ES2020系列之空值合并运算符 '??'
Jul 22 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 文件状态缓存带来的问题
2008/12/14 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
js left,right,mid函数
2008/06/10 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
js截取字符串功能的实现方法
2017/09/27 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
js如何验证密码强度
2020/03/18 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
详解Python流程控制语句
2020/10/28 Python
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
公司成本主管岗位责任制
2014/02/21 职场文书
跳槽求职信范文
2014/05/26 职场文书
旅游节目策划方案
2014/05/26 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
2014年财务部工作总结
2014/11/11 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
贷款担保书范本
2015/09/22 职场文书
《称赞》教学反思
2016/02/17 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书