JS对象与PHP对象的对比

一、对象的创建与访问

1、JS对象的创建与访问

//方式一(通过内置构造函数创建后添加属性)
var obj = new Object();
obj.name = 'Lucy'; //通过点添加属性
obj['sex'] = 'female'; //通过[]添加属性

//方式二(通过json格式直接创建添加属性)
var obj = {'name':'lily','sex':'female'};
//js对象可通过'.'和'[]'访问属性
console.log(obj.name);
console.log(obj['name]);

2、PHP对象的创建与访问 

//PHP只能通过类创建出对象实体
class Demo {
    public $hello = 'Hello';
    public static $world = 'world';
}
$demo = new Demo();
echo $demo->hello; //访问常规属性
echo ' ';
echo $demo::$world; //访问静态属性

二、对象的遍历

1、JS对象的遍历 (for...in...)

var obj = {name:'lucy',age:'29'};
for
(var x in obj){ console.log(obj[x]); //lucy 29 console.log(x); //name age }

2、PHP对象的遍历(foreach...as...)

class Demo {
    public $one = 1;
    protected $two = 2;
    private $three = 3;
    static $four = 4;
    public function showAllProperties() {
        foreach ($this as $key=>$value) {
            echo "<br>$key$value";  //可输出所有非静态属性
        }
    }
}
$demo = new Demo();
$demo->showAllProperties();

ps:PHP使用foreach...as...遍历对象时,只能输出public类型属性,可以通过定义一个方法实现遍历所有非静态属性,静态属性可通过 对象::属性 方式输出。

猜你喜欢

转载自www.cnblogs.com/splendid/p/9745166.html