js与php在数组与对象之间的差异

AndyYang| 阅读:1935 发表时间:2014-01-27 14:26:48 phpjs
摘要:js和php都是弱类型语言,他们都支持跨平台,然后数据在使用时,都不需要定义类型。有点类似于c++的函数模板,自动判断类型。但他们还是有挺多区别的,下面简单的介绍下js和php在数组与对象之间的差异。
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(对象) {
//里面调用的对象方法都不用加对象名
}
本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有1条评论

昵称:
邮箱:

  • 最新评论

马克2014-03-11 22:53:44
分析的真好,两者都是弱类型语言。
iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号