面试管:" 脚本语言、弱类型语言 " 与 “强类型语言” 存在什么样的区别 ?
在讲解之前,我们先了解一下什么是 JavaScript ,我们通过它引出我么今天的话题,并通过 JavaScript、python、PHP 这样的弱类型脚本语言引出他们的特点,并他们与强类型语言之间进行对比,让大家能够深刻的理解他们之间的联系。
1、什么是JavaScript?
js是一种直译式的脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,它的解释器
被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早在HTML网页中运用,用于
给HTML添加动态效果。
2、什么是脚本语言?
脚本语言本质上与编译语言有很大的不同。
编译语言的运行是直接对CPU负责,而CPU是直接将编译语言转为二进制之后才能进行执行。
而脚本它并不对CPU直接负责,脚本语言的执行核心是这个脚本的解释器,js的解释器就是浏览器的JS引擎,而python的解释器Cpython(在python官网下载的)。js 的执行并非是CPU直接将 js 转换为二进制后执行,而是通过 js 解释器(js引擎)将 js 代码进行解释后交给CPU执行。
那么也就是说编译语言是直接与CPU挂钩的,而脚本语言它不能与CPU直接挂钩,所以必须通过解释器将脚本语言的代码进行解释后再交给CPU执行。
3、什么是弱类型?
弱类型语言它最大的特点在于数据类型上,弱类型的数据类型与强类型的数据类型形成了对立的局面。那么弱类型语言和强类型语言之间到底存在怎样的渊源呢?
1、弱类型语言定义变量不需要声明数据类型;而强类型必须声明
2、弱类型语言的数据类型取决与存储的数据值,解释器根据它的数据值来进行编译运行;而强类型的语言它不用通过解释器,因为它的类型已经确定了,所以不需要这个多余的步骤。