为什么JavaScript是弱类型语言

▷6.2)——javascript 专栏收录该内容
4 篇文章 0 订阅

  在学习JavaScript的时候,说JavaScript是弱类型语言。那为什么JavaScript是弱类型语言呢。
  但是在此之前我们需要了解一下弱类型语言,和强类型语言的区别。

强类型定义语言和弱类型定义语言

1)强类型定义语言:

  强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

2)弱类型定义语言:

  数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
  强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
  例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
  关于各种语言类型的解释,请参考:http://blog.csdn.net/aiming66/article/details/78570784#t3
了解了这些,我们在此说一下JavaScript为什么是弱类型语言。经过思考,我感觉通过一段代码来说明吧。可能这样更加直白。

<!DOCTYPE html>
<html>
    <head>
        <title>js练习</title>
        <style type="text/css">

        </style>

        <script type="text/javascript">
            var num=0;
            alert(typeof num);

            num="123";
            alert(typeof num);

            num=true;
            alert(typeof num);

            num= new Date();
            alert(typeof num);
        </script>
    </head>
</html>

  其中,我来解释以下代码。下面的几句代码显示如下图,我们不能看出,我们在一开始只创建了一个变量num,为var类型,我们却可以给他赋值各种类型:数值类型,字符串,布尔类型,对象类型,为此我们可以推断出来,JavaScript为弱类型语言。

var num=0;
alert(typeof num);

这里写图片描述

num="123";
alert(typeof num);

这里写图片描述

 num=true;
alert(typeof num);

这里写图片描述

 num= new Date();
alert(typeof num);

这里写图片描述

  • 9
    点赞
  • 29
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值