javascript学习指南_JAVASCRIPT变量之局部/全局变量

时间:2019-07-24  来源:php函数  阅读:

局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。

全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

向未声明的 JavaScript 变量来分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

补充:

变量

对于变量的理解:变量是数据的代号。如同名字是一样。

var num;//在javascript中使用关键字var声明一个变量

在javascript中,使用上面的语法,就可以声明一个变量,以便在之后给其指定值。

var num=123;这个是直接声明一个变量,并赋值了,赋值的过程其实也是指定了变量的类型

var num;

num=123;

看下面两个代码:

 代码如下

document.write(123);

document.write(123);

document.write(123);

document.write(123);

如果我们用变量来操作:

 代码如下

var num;

num=123;

document.write(num);

document.write(num);

document.write(num);

document.write(num);

 虽然两个看上去没节约多少笔墨,但是有一个概念却是:使用了document.write多次输出的时候,第一个输出是每次都在内存空间里面新建了123这个值。而第二个输出的都是那个变量的值。这是我们所希望,使用变量可以清楚的表达我们想要做的,而且简短的变量名引用可以使代码更清晰且不容易出错!当然,名字不可以乱取,变量的命名有一些限制:只能包含字母,数字和下划线,还有个特殊的$字符,并且变量名只能以字母,下划线,$开头。

值、类型

 代码如下

var dog;

dog="小虎子";//字符串

var num;

num=1;//数字

var strNum;

strNum="1"//字符串

var badNum;

badNum=3.345;//小数

badNum=.2;//仍然是一个小数

很麻烦,可以简单写:

var dog,num,strNum,badNum;

dog="小虎子";//字符串

num=1;//数字

.........................

可以看到javascript是动态类型语言,在声明变量时无需指明其类型,在运行时刻变量的值可以有不同的类型。

   数据类型有:

             字符串,数字,布尔值,Undefined, (复合型)对象和数组

数学运算与比较

 小学的数据运算:+,-,*,/,++,--这个不用说了,每个语言都是一样的标准。这里说一下+,链接字符串也使用“+”号。

 代码如下

var num=23+"12";

alert("23+12="+num);//得到的结果是2312。

比较操作符:<,>,<=,>=,==,!=,!,比较操作符返回布尔值 也不多说了

逻辑运算符

  逻辑运算符用于对布尔值进行比较 && || !

   上面运算符用于的是数字和布尔数值(+除外一些)

 

类型转换入门

由于javascript是弱类型语言,所以完全可以将字符串和数字(两个不同类型的变量)进行相加。上面有个例子已经演示了。

 

 代码如下

var str="some string here!";

var num=123;

alert(num*str);//将输出的NaN,因为乘法运算符只能针对数字,所以进行运算时计算机将字符串转换成数字,但是str转换成数字的时候,会是NaN。

//NaN是一个特殊的值,含义是Not A Number,不是一个数字,当将其它转换成数字失败时会得到这个值。

str="2";

alert(num*str);//将输出246,因为str可以解析成数字2.

其他的类型转换

var bool=true;

alert(bool*1);//输出1,布尔值true转换成数字是1,事实上将其它值装换成数字最简单的方法就是乘以1

bool=false;

alert(bool*1);//输出0

alert(bool+"");//输出的是false,事实上将其他的值转换成字符串最简单的方法是将其写一个空字符串相连。

var str="some string";

alert(!!str);//true,因为非运算符是针对布尔值进行运算的,所以将其类型转换只需要两次非运算。

str="";

alert(!!str);//输出false,只有空字符串转换成布尔值会是false,非空字符串装换成布尔值都是true。

var num=0;

alert(!!num);//false;

num=-123.345;

alert(!!num);//true,c除0以外的任何数字转换成布尔值都会是true

//还有一个重要的是空字符串转换成数字将会是0;

alert(""*1);//输出0

获取变量类型 typeof 运算符

 代码如下

var bool = true;
alert(typeof bool);//输出boolean
var num =123;
alert(typeof num);//输出number
var str = "some string here";
alert(typeof str);//输出string
var strNum = "123";
alert(typeof strNum);//输出string
strNum *= 1;
alert(typeof strNum);//输出number

javascript学习指南_JAVASCRIPT变量之局部/全局变量

http://m.bbyears.com/jiaocheng/59418.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新