浅析js与php之间的差异

1.执行环境不同

javascript属于客户端编程语言,在浏览器中执行;

php属于服务器端编程语言,在服务器中执行;

2.申明变量差异

javascript中用var,

php中使用$符号;

3.类型转换的不同

在javascript中

   空对象和空数组转换为boolean值为true;

但在php中

   空对象空数组转换为boolean值为false;

 (仅在php4中空对象的boolean值为false)

  包括非0的负数值,都是转换为true;

4.实形参的不同

在js中形参和实参的个数对比起来没有限制,形参个数可以大于实参,也可以少于实参

在php中,实参数大于形参不报错,但当实参个数少于形参个数时,并且未指定的形参未定义时就会报错

1 function test($a,$b,$c){
2 }
3 test(aa,bb);

此时由于$c未指定实参,会报错

但当$c初始化一个值时,不报错

1 function test($a,$b,$c="110"){
2 }
3 test(aa,bb);

js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,

本质原因由于php不存在原型连,执行过程中没有变量对象。

5.数据类型的不同

js中有undefined类型,php中无此类型(php中仅有int、float、string、array、object)

因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;

并且js中只有number类型,而在php中无此类型,取代的为int float类型;

6.字符串的连接

 js中使用加号 +  +=

 php中使用点号 .   .=

7.控制语句的区别

  else if与elseif在php中都支持,js只支持前者

8.大小写问题

  js严格区分大小写

  php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。

9.变量的作用范围

js在函数范围之外申明的变量就是全局变量,可以在函数内部直接调用;

php中函数视为单独的程序片段,所以局部申明的变量会复盖函数外部申明变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以告诉函数

主题此变量全局。

10. js验证与php验证区别

js验证是在客户端浏览器验证,如果客户端浏览器屏蔽了js执行就可以绕过js验证。

php验证是在服务器端执行,客户端无论如何修改都是无法禁用、屏蔽、跳过的。

js验证主要是验证规则、格式等,属于表面的验证,例如:字符串长度、邮箱格式等,当然这些也可以放在php中验证,提前验证目的主要是为服务器减轻压力;

php验证可以跟数据库进行交互,比如用户是否存在、密码是否正确。


 

你可能感兴趣的:(浅析js与php之间的差异)