javaScript系列
关于JS中的变量
文章目录
前言
编译期强行固定变量的数据类型。称为强类型语言。
变量声明的时候是什么类型,以后永远都是这种类型,不可变。(Java)
没有编译阶段,变量可以随意赋值。称为弱类型语言。(javascript)
一、了解JS中的变量
1.1声明与赋值
声明变量?
var 变量名;
怎么给变量赋值?
变量名 = 值;
javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。
var i = 100;
i = false;
i = "abc";
i = new Object();
i = 3.14;
1.2默认值
在JS当中,当一个变量没有手动赋值的时候,系统默认赋值undefined
var i; //声明变量
alert("i = " + i); //弹出消息框
结果显示
1.3常见错误
变量未经声明直接访问会报错
alert(a) //语法错误:a is not defined (变量a不存在。不能这样写。)
二、函数的定义与调用
JS中的函数:
等同于java语言中的方法,函数也是一段可以被重复利用的代码片段。
2.1声明和调用
JS中函数应该怎么定义呢?
语法格式:
第一种方式:
function 函数名(形式参数列表){
函数体;
}
第二种方式:
函数名 = function(形式参数列表){
函数体;
}
function sum(a, b){
// a和b都是局部变量是形参。
alert(a + b);
}
// 函数必须调用才能执行的.
sum(10, 20);
// 定义函数Hello
Hello = function(name){
alert("你好" + name);
}
// 调用函数
Hello("lisi");
三、JS的局部变量和全局变量
3.1 局部变量和全局变量的的区别
全局变量:
在函数体之外声明的变量属于全局变量,全局变量的生命周期是:
1. 浏览器打开时声明,浏览器关闭时销毁。
2. 全局变量会一直在浏览器的内存当中,耗费内存空间。
3. 能使用局部变量尽量使用局部变量。
局部变量:
在函数体当中声明的变量,包括一个函数的形参都属于局部变量,局部变量的生命周期是:
1. 函数开始执行时局部变量的内存空间开辟,
2. 函数执行结束之后,局部变量的内存空间释放。
3. 局部变量生命周期较短。
我们举一个简单的例子来:熟悉全局变量和局部变量的区别
<script type="text/javascript">
//全局变量
var userName = "张三";
function name(){
//局部变量
var userName = "李四";
//遵循就近原则:会先访问局部变量
alert("用户姓名:"+userName);
}
//调用方法
name();
弹出信息
alert("用户姓名:"+userName);
</script>
运行结果
总结
1、javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。
2、JS中函数的定义
3、在JS当中,函数的名字不能重名,当函数重名的时候,后声明的函数会将之前声明的同名函数覆盖。
4、 在JavaScript中也同样遵循就近原则:会先访问局部变量。
5、如果一个变量没有被var关键字声明,那么无论其在什么位置,它都是全局变量。