php和javascript的区别有哪些?

JavaScript013

php和javascript的区别有哪些?,第1张

php和JavaScript的区别:

一:类型转换的不同

在javascript中 ,空对象和空数组转换为boolean值为true; 但在php中,空对象空数组转换为boolean值为false(仅在php4中空对象的boolean值为false);包括非0的负数值,都是转换为true。

二:实形参的不同

在javascript中,形参和实参的个数没有限制,形参个数可以大于或者少于实参,而在php中,实参数小于形参就会报错,因为有参数被定义却没有被使用,这在PHP解释机制看来可能会影响函数的功能。

三:数据类型的不同

javascript中有undefined类型,php中无此类型, 因此当一个变量未赋予任何值时,javascript中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型; 并且javascript中只有number类型,而在php中无此类型,取代的为int float类型。

四:字符串的连接

javascript中使用加号 + += ,php中使用点号 ..=

五:控制语句的区别

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

六:大小写问题

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

七:静态变量

PHP支持声明函数变量为静态的(static) ,javascript随无静态变量但可以定义函数的属性来冒充静态变量。

PHP是运行于服务器端的后台脚本语言,其语法混合了 C、Java、Perl 以及 PHP 自创的语法。

JavaScript则是运行于浏览器端的前端脚本语言,名称中虽然带有java,但其实与java并没有太大关系,JavaScript的语法风格更接近于Scheme。

因此可以说PHP与JavaScript几乎没有交集,要说有什么相同点那就是都是程序设计语言吧,就跟中文和英文一样。

1,类型转换的不同

在javascript中, 空对象和空数组转换为boolean值为true;

但在php中 ,空对象空数组转换为boolean值为false;

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

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

2,实形参的不同

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

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

复制代码

代码如下:

function mao(val1,val2,val3){

}

mao(aa,bb)

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

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

复制代码

代码如下:

function mao(val1,val2,val3="123"){

}

mao(aa,bb)

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

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

3.数据类型的不同

js中有undefined类型,php中无此类型,

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

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

4.字符串的连接

js中使用加号 + +=

php中使用点号 ..=

5.控制语句的区别

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

6.大小写问题

js严格区分大小写

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

7.变量的作用范围

php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的

程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无

法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以

告诉函数主体此变量为全局。

js由于原型连的关系,可直接调用

8.静态变量

PHP支持声明函数变量为静态的(static)

js随无静态变量但可以定义函数的属性来冒充静态变量