简单理解弱类型动态类型解释型语言

Posted web200

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单理解弱类型动态类型解释型语言相关的知识,希望对你有一定的参考价值。

弱类型和强类型

简单的说,二者的区别就是是否偏向于容忍隐式类型转换

$str = ‘abc‘;   //str是一个字符串

$str = 1;    //这时候又变成整形

if($str){};  //这时候又是一个布尔型

所以php是弱类型语言,变量类型会自动转换。

 

动态类型和静态类型

简单的说,二者的区别就是声明变量的时候是否需要指定变量类型

php是动态类型语言,声明变量时无需指定类型。

注意: 一个语言是不是强类型语言和是不是动态类型语言没有必然联系。

 

动态语言和静态语言

简单的说,二者的区别就是代码运行时是否可以改变其结构。例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。

php是动态语言,代码运行时可以动态改变结构。

 

解释型和编译型

用编译型语言写的程序执行之前,需要先有一个专门的编译过程,以后就可以直接运行而不需要编译了,例如windows的exe文件,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率较高。

解释型语言编写的程序不需要编译,只在运行的时候才翻译,但是这样的话每执行一次就要翻译一次,效率比较低。优点在于不需要专门的编译过程,可以随时编写代码并立即运行。

php是解释型语言。

 

以上是关于简单理解弱类型动态类型解释型语言的主要内容,如果未能解决你的问题,请参考以下文章

编译型与解释型动态语言与静态语言强类型语言与弱类型语言的区别

解释型语言和编译型语言弱类型语言和强类型语言动态语言和静态语言的区别

动态语言和静态语言编译型语言和解释型语言强类型语言和弱类型语言的分析

强类型语言/弱类型语言动态语言/静态语言编译型语言/解释型语言(整理)

一文搞懂语言的静态类型动态类型强类型弱类型编译型解释型

重头再学JS— 数据类型和函数