1.注释相同
单行注释以//开头
多行注释以 /* */
2.语句结束符
JS中;是可选的,多条语句写在一行时,必须加;
PHP中必须写;
3.大小写区分
JS严格分大小写的。true,false必须是小写才被识别.
PHP大小写区分相当复杂,在使用时自己去分开把,形成习惯省却记忆的烦恼。详情参照PHP大小写区分
4.字符串内换行
JS字符串写在多行,必须用 \ 换行
var str = "hel \
lo";PHP可以随便换行
function test()
{
$abc = "hello2 ASF //换行 如果加了 \ 则原样输出。
asdfasdf ";
echo nl2br($abc);
}
?>
5.表达式换行相同
JS可以写在多行
var data = 1 +
2;PHP也可以
$data = 1 +
2;
6.变量定义
两种脚本都不需要在定义时指定类型,脚本自身会去识别正确的类型。
都是动态类型,可以对变量a赋值整形后,再赋值其他类型。
不同点:
JS:用var声明,若不以var声明,则认为是全局变量。
var 可以声明多个变量在一行 var a=1,b=3;
一个变量被重复用var声明,值不会变更
var a = 3;
var a; //结果不会变更,还是3
PHP:变量以$符号开头,没有特殊的声明符号。
7.比较
JS和PHP相同
判断值等 == 都与C语言相同
if (a=1)则为true
JS中如果只用var声明,没有赋值,则if(a)为false。
都支持 === 三个等号来判断值和类型相同。
10 == "10" true
10 === "10" false
8.输出语句
JS:
document.write("hello") //输出HTML语句,注意只能在文档未加载完时使用,否则会覆盖已经加载完成的文档。
console.log("hello") //在浏览器的工具,console中可以查看输出
PHP:
echo "hello";
支持C语言的输出函数printf,print
9.函数定义语句相同,细节不同,在后面讲述。
JS:function func(){}
PHP:function func(){}
10.分支循环语句
以下语句基本用法相同,和C语言相同。
while,break,continue,if...else,switch,for
差异点:
JS:For/in遍历对象的属性以及数组,没有foreach关键字。
arr = [1,2,3,4];
arr["property"] = "data"; //注意这个是属性,而不是数组成员。
for (var key in arr)
{
alert(arr[key]); //1 2 3 4 "data" 属性和数组内容依次输出
}
PHP:foreach 可以遍历数组,可以遍历对象属性.
class myclass
{
public $a = "a";
public $b = "b";
}
$a = new myclass();
foreach ($a as $key=>$value)
{
echo $key . "
";
}
$arr = ["ok",2,3];
foreach ($arr as $value)
{
echo $value . "
";
}
foreach ($arr as $key=>$value)
{
echo $arr[$key] . "
";
}
?>
多层嵌套中,php中得break可以指定跳出的层数,默认为1
for($i=0;$<3;$++)
{
for($i=0;$<3;$++)
{
break 2; //直接跳出两层循环
}
}