详解javascript的变量与标识符_javascript技巧

WBOY
Release: 2016-05-16 15:22:03
Original
1383 people have browsed it

一、变量

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

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

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

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

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

[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;//声明多个变量
Copy after login

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

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

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

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

1.4声明提升

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

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

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

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

二、标识符

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

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();
Copy after login

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!