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

摘要: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(对象) {
//里面调用的对象方法都不用加对象名
}

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/98527.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论