JavaScript02——数据类型和变量

定义变量的方式

JavaScript 是弱类型脚本语言,使用变量之前,可以无须定义,想使用某个变量时直接使用即可

  • 隐式定义:直接给变量赋值
  • 显式定义:使用 var 关键字定义变量
<script type="text/javascript">
    // 隐式定义
    a = "Hello JavaScript";
    alert(a);
    // 显式定义
    var a;
    a = true;
    alert(a);
</script>

类型转换

js 支持自动类型转换

<script type="text/javascript">
    var a = "3.145";
    // 字符串变量 和 数值 执行算术运算
    var b = a - 2;
    // 字符串变量 和 数值 执行加法运算
    var c = a + 2;
    alert(b + "\n" + c);
</script>

原因:

➖:字符串不支持减法运算,所以系统自动将 字符串 转换成 数值

➕: 字符串可以用 加号 作为连接运算符,所以系统自动将 数值 转换成 字符串,并将两个字符串进行连接运算

强制类型转换

toString():将 布尔值、数值 转换成 字符串

parseInt():将 字符串、布尔值 等 转换成 整数

parseFloat():将 字符串、布尔值 等 转换成 浮点数

变量作用域

全局变量:在全局范围内定义的变量、不使用 var 定义的变量;可以被所有的脚本访问

局部变量:在函数里定义的变量,只在函数内有效

<script type="text/javascript">
    var test = "全局变量";
    function myFun(){
        // 在函数内 不使用 var 定义的 age 也是全局变量
        age = 20;
        // 在函数内 使用 var 定义的是局部变量
        var isMale = true;
    }
    myFun();
    alert(test + "\n" + age);
    alert(isMale);

如果 全局变量 和 局部变量 使用 相同的变量名,则 局部变量 将 覆盖 全局变量。

JavaScript 变量没有 块范围,与 Java 和 C 语言不同,比如 for循环内的变量在 for 循环外依然有效

变量提升

含义:变量声明总是会被解释器“提升”到函数体的顶部。只提升声明部分,不会提升赋值部分

<script type="text/javascript">
    var scope ="全局变量";
    function test() {
        document.writeln(scope + "<br>");
        var scope = "局部变量";
        document.writeln(scope + "<br>");
    }
    test();
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值