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