Heim  >  Artikel  >  php教程  >  php与js的区别有哪些?

php与js的区别有哪些?

WBOY
WBOYOriginal
2016-06-13 11:31:021509Durchsuche


1,类型转换的不同

在javascript中

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

但在php中

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

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

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

2,实形参的不同

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

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

<span function</span><span  mao(val1,val2,val3){
}
mao(aa,bb);</span>

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

<span function</span> mao(val1,val2,val3="123"<span ){
}
mao(aa,bb);</span>

本质原因由于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随无静态变量但可以定义函数的属性来冒充静态变量

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn