JS的语言特征

JS的语言特征

前言

JS是一种弱类型的,解释型的脚本语言

弱类型和强类型

弱类型?

定义:在定义变量的时候,我们可以为变量赋值任何数据,变量的数据类型不是固定死的,这样的类型叫做弱类型。

var a = 10;
a = "abc";
a = [];
a = function(){};
优点:

弱类型使用简单,更灵活多变。

缺点:

因为不包含类型信息,所以在代码的上下文中,可能会进行隐含的类型转换,比如把字符串转整型,整型转字符串,这样会稍损性能,并且可能会不符合程序本意。:(typescript可以稍微弥补一些)

强类型?

定义:在声明变量的时候,一旦给变量赋值那么变量的数据类型就已经确定,之后如果要给该变量赋值其他类型的数据,需要进行强制数据类型转换。

int a = 10;
a = "10";
优点:

强类型语言由于类型之间不可隐式转换而更加可靠。(更严谨)

缺点:

强类型语言要求完全显示转换,开发效率低。

解释型和编译型

解释型?

定义:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。因此效率比较低。在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译。

优点:解释型语言可以写完一行,或一小段程序之后,马上运行,马上调试,快速的测试自己的想法。并且跨平台性好。

缺点:效率比较低。

编译型?

定义:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。

优点:编译型的语言在运行期间一般是要比解释型的要快一点,因为编译型的语言已经是机器码,无需要再进行解释为机器码。程序执行效率高些。

缺点:跨平台性差。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值