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(对象) {
//里面调用的对象方法都不用加对象名
}
已有1条评论