PHP与JavaScript:两种脚本语言的深入比较 |
您所在的位置:网站首页 › php和java交互 › PHP与JavaScript:两种脚本语言的深入比较 |
PHP和JavaScript都是Web 开发人员经常使用的脚本语言。但每个都有自己的细微差别和用例。 在这篇文章中,我们将探讨PHP与JavaScript两者之间的差异,以及何时应该在开发项目中使用每种语言。让我们首先看看这些语言是如何产生的。 PHP与JavaScript:起源 PHP和JavaScript的相似之处 PHP与JavaScript之间有什么区别? WordPress如何使用JavaScript和PHP 学习PHP与JavaScript PHP与JavaScript -比较表 PHP与JavaScript:起源PHP是Rasmus Lerdorf于2004年创建的一种开源语言。这个名字来自个人主页工具——一组Rasmus用来跟踪对他的网站的访问的脚本。 随着PHP 3.0的推出,该语言有了一个反向首字母缩写词:PHP: Hypertext Preprocessor。它现在简称为PHP。 JavaScript由Netscape的Brendan Eich于1995年创建,旨在为Web带来交互性。最初称为Mocha,后来更名为LiveScript,后来更名为JavaScript,以利用Java语言的流行。 今天,JavaScript正式被称为ECMAScript,但JavaScript仍然是大多数人所称的。 因此,这两种语言已经存在一段时间了。 现在我们将看看它们的其他一些相似之处。 PHP和JavaScript的相似之处下面我们将从多个方面介绍这两种编程语言的相似之处: 语言类型 变量类型 类和对象 市场需求 文档 语言类型PHP和JavaScript都是脚本语言。这与Java或C++等“纯”编程语言相反。 脚本语言倾向于解释而不是编译。这意味着它们是通过第三方而不是直接翻译成机器代码的。这会影响它们的运行时间。 可以这样想:假设您想将网页从您的母语翻译成纳瓦霍语。如果您不懂纳瓦霍语,则需要口译员来帮助您,而且翻译需要更多时间。 这就是为什么编译语言往往比解释语言更快的原因。 变量类型另一个共同点是PHP和JavaScript是弱类型的。 这意味着当您使用任何一种语言创建变量时,您都不需要分配其数据类型:它是假定的。 因此,您可以在PHP中编写以下内容: $x = 'Hello world'; $y = 'Bonjour le monde';或者在JavaScript中: var x = 'Coding is fun'; let y = 'No, honestly';在两种语言中,这些变量都将被识别为字符串(字符集)。 这与像Java这样的强类型语言相反,在这种语言中,您必须在声明时说明使用的变量类型: int x = 5;PHP和JavaScript都是动态类型的:换句话说,您可以通过在代码中重新定义类型来轻松更改类型: $x = 5;在PHP中,$x 现在是一个整数。 x = 3.14195;在JavaScript中,x 现在是一个数字。 因为类型不是在PHP或JavaScript中明确定义的,所以您需要函数来告诉您正在使用的数据类型。 JavaScript有typeof函数可以做到这一点。 PHP有gettype函数来返回变量的类型。将gettype,一个新的,改进的版本get_debug_type,是部分PHP 8版本。 类和对象PHP和JavaScript最初都不是面向对象的。随着语言的发展,面向对象被添加到它们中。 2004年PHP 5提供了创建对象和类的能力。 JavaScript直到很久以后才使用对象或类。它们于2015年随着ES6的引入而进入该语言。 一类是对象的通用分组。 一个对象是与实体属性(特性)和方法(行为)。 该游戏龙与地下城(d&d)提供了一个很好的比喻。 一个玩家角色对应一个对象。每个角色都属于一个角色类别,例如野蛮人、盗贼或巫师。 对象可以具有任意数量的您需要定义的属性。 因此,角色的属性可能包括: 姓名 种族 能力(力量、智力、智慧、敏捷、体质和魅力) 性格类型(例如大胆、胆小、好奇) 阵营(守序,混乱,善良,邪恶)您可以使用对象方法来检索有关对象的信息。 这是一个类和对象定义的PHP代码示例: 将此代码添加到HTML文件后,浏览器中的输出应如下所示: 颜锡德 人类 智力:18您还可以定义方法,这些方法是对象采取的或已对其执行的操作。 在D&D中,它们可能是: surpriseAttack() disarmTrap() castSpell() resistPoison()在对象上运行方法时,结果可能取决于对象的属性。因此,巫师的学徒对象将无法像经验丰富的巫师对象那样有效地施展法术。 市场需求PHP和JavaScript的另一个共同点是对两种语言的开发人员都有很高的需求。 使用JavaScript和PHP的开发人员也得到了很好的报酬。 在美国,他们的平均年收入约为80,000美元。 PHP开发人员薪水,Glassdoor.com JavaScript开发人员薪水,Glassdoor.com 文档对于PHP或JavaScript的新手来说,不太好的消息是这两种语言的官方文档都不是很人性化。它是为有经验的开发人员而不是初学者编写的。 您可以在此处查看每种语言的文档: PHP文档 ECMAScript 2020语言规范JavaScript老师Chris Ferdinandi感叹缺乏良好的JavaScript文档,称这是他花了这么长时间才掌握这门语言的原因之一。 此时,您可能想知道,“PHP与JavaScript之间有什么区别?” 实际上,有几个。 PHP与JavaScript之间有什么区别?接下来我们一起来看看这两种编程语言之前的不同点有哪些? 服务器端与客户端脚本 前端与后端 与其他语言的结合 区分大小写 句法 变量和常量定义 数组 数据库集成 线程 速度 包管理器 网络使用 服务器端与客户端脚本PHP 是一种服务器端脚本语言。这意味着它在Web服务器上运行,而不是在客户端计算机上运行。 服务器端编程对于向用户提供动态内容(通常来自数据库)非常有用,例如用户登录时的欢迎消息(Hi, Claire!)。 更严重的是,服务器端脚本用于电子商务。例如,有超过100个WooCommerce扩展程序通过API(应用程序编程接口)连接到不同的支付提供商以处理交易。 JavaScript是一种客户端语言,因此它可以在用户的笔记本电脑、手机或平板电脑上运行。 JavaScript可以操作代表文档对象模型的DOM,您可以将其视为由网页的HTML形成的树状结构。 如果您曾经遇到过手风琴或切换开关,也许是作为常见问题插件的一部分,您就会看到客户端JavaScript的运行情况。当您单击或点击问题时,JavaScript事件处理程序会打开或关闭CSS显示或可见性属性,显示或隐藏相关答案。 前端与后端PHP运行在网站的后端——访问者看不到的部分!在WordPress中,这意味着PHP在Web服务器和WordPress管理员中完成所有工作。 JavaScript传统上在前端运行,但在2009年启动后端运行时Node.js时,情况发生了变化。今天,JavaScript是真正的全栈语言。 与其他语言的结合PHP作为后端语言,它是LAMP堆栈(Linux、Apache、MySQL、PHP)的一部分。 PHP可以与HTML合并。您将通过检查许多Web应用程序(包括 WordPress)的代码来了解这一点。 以下是来自2020主题index.php文件的示例: 但是,如果您在Web应用程序中将PHP与其他后端语言混合使用,则很难维护它们。另外,您不仅要了解PHP,还必须学习并熟练掌握其他语言! JavaScript开发人员在编写代码时有更多的自由。他们可以将这种语言与HTML、XML和Ajax结合使用。 区分大小写区分大小写是在语言中命名实体时区分大小写字母。 PHP部分区分大小写。大小写对某些事情很重要,对其他事情不重要。 PHP变量是区分大小写的。 因此,如果您在PHP中创建一个变量: $dog = "chihuahua";并尝试稍后在您的代码中获取$DOG的值,它将不起作用。 但是,PHP函数不区分大小写。 如果您在PHP中创建此函数: function dogFetch() { // your code to run when the function is called }稍后在您的代码中调用DogFetch(),您的函数仍将运行。 然而,这不是好的编码习惯,因为它不一致。 另一方面,JavaScript完全区分大小写。因此,称为 beagle、BEAGLE和Beagle的变量都将彼此不同。 句法语法是管理语言的一组规则。这包括词序、语法和标点符号。 在英语中,我们可能会说: I ate my soup slowly. 但如果你是Yoda大师,你会说: My soup slowly I ate. 为什么?语法不同。同样的话,不同的顺序。 尤达语生成器 有些语言使用看起来相同的词,但它们具有不同的含义。 Lui在法语中的意思是“him”在英语中的意思 Lui在意大利语中的意思是英语中的“he” 如果我们使用错误的词,人类会很宽容,但计算机却是字面上的。如果我们在编程语法中犯了错误,计算机通常不知道我们的意思,这通常会导致错误。 在JavaScript和PHP中,对于单行代码注释,它们都具有相同的双正斜杠语法: // This is a comment但是PHP也有另一种形式的注释语法: # This is a comment如果您尝试在JavaScript中使用 PHP 注释语法,则会出现错误: # This is a Comment Uncaught SyntaxError: private fields are not currently supportedJavaScript未捕获的语法错误 其他语法错误对于JavaScript和PHP都是常见的,例如: 代码行末尾缺少分号 (;)。 不为条件语句使用一对花括号 {}。 变量和常量定义正如我们之前看到的,JavaScript和PHP有不同的声明变量的方式。 他们也以不同的方式定义常量。 JavaScript使用以下语法: const x = 6;对于像这样的简单常量,其值以后无法更改。 而PHP对常量使用 define() 函数。 define(name, value, case-insensitive)按照惯例,PHP常量的样式是大写的。一个例子是: define('MONSTER', 'Sulley');括号内的前两个参数是不言自明的。 第三个不区分大小写,默认值为false。只有当它设置为true时,常量才会不区分大小写。 那是: define('MONSTER', 'Sulley', true); 数组数组是可以存储不止一件事的变量。 在PHP中,数组是关联数组或有序映射。也就是说数组中的项有相关的键值对。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |