前端之路-初期-JavaScript变量

  • Post author:
  • Post category:java




前端之路-初期-JavaScript变量



1.定义

在日常生活里,有些东西是固定不变的,有些东西则会发生变化。例如人的姓名和生日是固定不变的,但是心情和年龄却会随着时间的变化而变化。人们把这些会发生变化的东西称为变量(variable)。–JavaScript.DOM编程艺术(第2版)




2.特性



(1)javascript中的变量是松散类型的,可以保存任何类型的数据,变量只是在特定时间用于保存特定值的一个名字而已,由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变 。

(2)JS变量可用于存放值和表达式


3.变量命名

(1)变量可以使用短名称,也可以使用描述性更好的名称。

(2)变量必须以字母开头

(3)变量也能以 $ 和 _ 符号开头(不过不推荐)

一般都是框架内的属性或者变量会加$  或者 加$作为一个JQuery变量,来启动变量名  “_”下划线开头 一般指的是内部私             有变量。

(4)变量名称对大小写敏感

(5)其他字符可以是字母、下划线、美元符号或数字

(6)字符中的字母可以包括拓展的ASCII或Unicode字母字符,也可以使用中文

(7)不能使用关键字、保留字、true、false和null

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


整数       i    Integer    iAge


4.


声明变量







创建变量通常称为声明,

使用 var 关键词来声明变量,






变量声明之后,该变量的值为



undefined










如需向变量赋值,请使用等号,也可以直接在声明中赋值。(+= 不对)





重新声明 JS变量,该变量的值不会丢失。






5.编码情况




当js外部文件是UTF-8编码时,如果Html没有设置UTF-8编码,会导致中文乱码。当Html的编码与JS外部文件的编码一致时,便不会出现乱码。




6.声明提升







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




console.log(iAge);
var iAge = 23;
console.log(iAge);



7.

标识符解析







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

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

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

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

var iTestVariable1 = 23;
var iTestVariable2 = 1;

function fPartGoble() {
	iTestVariable1 = 28;      //给上边全局的iTestVariable 赋值为28
	console.log("局部1:"+iTestVariable1);   //结果:  28
	var iTestVariable2 = 3;
	console.log("局部2:"+iTestVariable2);   //结果:  3
}

fPartGoble();

console.log("全局1:"+iTestVariable1);  //结果:28  给赋值了
console.log("全局2:"+iTestVariable2);  //结果:1  

参考w3chool

参考http://www.jb51.net/article/77391.htm



版权声明:本文为qq_22542501原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。