JS对象与PHP对象的对比

Posted 路虽远,行则必至

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类型属性,可以通过定义一个方法实现遍历所有非静态属性,静态属性可通过 对象::属性 方式输出。

以上是关于JS对象与PHP对象的对比的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

JS中集合对象(ArrayMapSet)及类数组对象的使用与对比

php面向对象之一

AJAX相关JS代码片段和部分浏览器模型

VSCode自定义代码片段12——JavaScript的Promise对象