javascript变量知识小梳理

1.变量

Javasctript对变量的定义并不需要声明变量的类型,通过赋值的形式,将各种类型的数据赋值给同一个变量。

 a=100;//Number类型 
 a="honey";//String类型 
 a={name:jake};//Object类型 
 a=[1,2,3];//Array类型 

2.变量的命名规则!

(1).变量命名必须以字母或是下标符号”_”或者”$”为开头。
(2).变量名长度不能超过255个字符。
(3).变量名中不允许使用空格。
(4).不用使用脚本语言中保留的关键字及保留符号作为变量名。
(5).变量名区分大小写。(javascript是区分大小写的语言)

3.变量的作用域

根据变量的作用范围可以分为 : 全局变量 和 局部变量
先看个小例子:

<script type="text/javascript">
        var num = 30;
            function fun(){
                console.log(num);
                a = 50;
            }
            fun();
            console.log(a);
<script>

结果输出 :(你能猜到吗??)
30
50
上述代码中 num 与a 都是全局变量

全局变量:
(1). 在最外层声明的变量。
(2). 在函数体内部,但是没有声明var 的变量也是全局变量
局部变量:
在函数体内部的 声明的变量
(优先级的话 是局部变量的优先级 高于 全局变量的优先级)
再来个小例子:

var a= 10;
function fun(){
    a = b =20;
}
fun();
console.log(a);
console.log(b);

输出结果 为 20 20
因为b并没有用var声明,b是全局变量
隐式的全局变量
在函数体内部,但是没有声明var 的变量也是全局变量。

4.变量提升

别急,先看个例子

var num = 20;
fun();
function fun(){
    console.log(num);
    var num = 50;
 }

你猜这个将会 输出什么呢?
答案:undefined
原因: 这就是变量提升
在函数体内部,声明变量,会把该声明提升到函数体的最顶端。 只提升变量声明,不赋值。
函数fun()

function fun(){
    console.log(num);
    var num = 50;
 }

相当于

function fun(){
    var num;
    console.log(num);
    num = 50;
 }

来个例子练习一下:

var a = 100;
f1();
function f1(){
    var b=8;
    console.log(a);
    console.log(b);
    var a = '129';
} 

你猜结果是多少?
undefined
8

明白了吗!(^__^)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值