文档章节

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

魏邪乎
 魏邪乎
发布于 2014/07/21 15:22
字数 515
阅读 1898
收藏 0
摘要: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(对象) {
    //里面调用的对象方法都不用加对象名
    }

© 著作权归作者所有

魏邪乎
粉丝 6
博文 80
码字总数 21516
作品 0
保定
私信 提问
PHP使用JSON

JSON 基础 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程...

晨曦之光
2012/03/09
169
0
javascript与php数据交换之json

这两天js跟php数据传递弄伤心了,特意整理一些资料,做个小结! json是js的一种数据格式,可以直接被js解析,当我们在结合php和javascript实现某些功能时,经常会用到它。php无法直接读取jso...

The-duke
2013/07/17
0
3
用 Json 来实现 PHP 与 JavaScript 间数据交换

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 简而论之,不管是xml还是json都是为了方便在客户端与服务器端交互数据的中转站,特别是用于对象型数据,比如最常见的数组。...

BENNEE
2011/03/22
0
0
【JSConf EU 2018】JavaScript引擎: 精粹部分

JSConf EU 2018圆满结束, 谷歌V8的开发者Mathias Bynens以及Benedikt Meurer一起发表了《JavaScript Engines: The Good Parts™》演讲,本文将带领大家回顾一下演讲上所提到的重点。 演讲第一...

想成为工匠的码农
2018/06/19
0
0
DOM对象和js对象以及jQuery对象的区别

DOM对象和js对象以及jQuery对象的区别 一、DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口。 DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修...

奋斗的雲
2018/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员分享Python自动化运维开发实战 六、流程控制

好程序员分享Python自动化运维开发实战 六、流程控制 PYTHON 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 Python程序语言指定任何非0和非...

好程序员IT
25分钟前
0
0
5年经验的Java工程师面试答不出反射和动态代理!怕是只会CRUD哦

分享阿里 P8 高级架构师吐血总结的 《BATJ大厂高级Java必问面试学习视频》,附送 100G 面试学习视频文档 阿里 P8 级高级架构师吐血总结的面试学习视频, 内容覆盖很广,分布式缓存、RPC 调用、...

戎码益深
45分钟前
1
0
加权查询

https://www.elastic.co/guide/cn/elasticsearch/guide/current/_cross_fields_queries.html 假设二维向量,如果一个维度设为无穷大,无论另一个维度为多大(具体值),向量都是与坐标轴平行...

Java搬砖工程师
46分钟前
3
0
GLIBC等相关文件升级更新

###参考资料:https://blog.csdn.net/glongljl/article/details/80156243###安装更新libstdc++.so文件https://blog.csdn.net/xdzhangzhenhao/article/details/80746403找一个更高版本的......

KYO4321
47分钟前
2
0
C# Dev XtraTabControl添加关闭页签功能

这个功能在界面操作上很常见,记录下,希望可以帮助您,请持续关注我。 一、添加关闭功能 若要tabpage显示关闭按钮,把xtraTabControl的ClosePageButtonShowMode属性设为InAllTabPageHeaders...

黑鹰客栈
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部