js和php都是弱类型语言,他们都支持跨平台,然后数据在使用时,都不需要定义类型。有点类似于c++的函数模板,自动判断类型。但他们还是有挺多区别的,下面简单的介绍下js和php在数组与对象之间的差异。
一:数组
a、js定义数组:
var arr = new Array(); //定义空数组 var arr = new Array(2); //仅指定长度,而且指定的长度没多大意义 var arr = new Array(1,2,3); //定义数组并赋初值1,2,3 var arr = [1,2,3]; //同上,不过比上面的速度快
*:js数组只能通过'[]’访问属性。
b、php定义数组:
$arr = array(); //定义空数组 $arr = array(1); //与js不同,这里是给键值0的值 $arr = array(1,2,3); //定义数组并赋值1,2,3 $arr = [1,2,3]; //同上,速度不知与js是否有异曲同工之妙?另高版本的php才支持这种写法
*:php能通过'[]’和'{}’访问。
二:对象
a、js定义对象:
var obj = new Object(); obj.a = 'obja'; obj['b'] = 'objb'; obj[0] = 'obj0'; var obj={a:'obj0',b:'obj1'}; //以json格式定义对象
//以上均是赋值
*:js对象可以通过’.’和'[]’访问对象属性。
b、php定义对象:
php没有直接定义对象的类型,只有通过写一个类,然后属性那样来指定。
class Test{ public $cc; } $test = new Test(); $test->cc;
*:php正常情况下只能通过’->’访问对象属性,当然静态属性的话是’::’,例外。
另外js里,有两个神奇的两个对象方法
for(变量 in 对象) { //遍历对象属性 } with(对象) { //里面调用的对象方法都不用加对象名 }
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/98527.html