js对象和jquery对象的区别

JavaScript016

js对象和jquery对象的区别,第1张

JS对象,是一个名值对的无序集合。

jquery对象,是jquery特有的对象,只有调用jquery框架才存在。其实jquery对象,也是一种js对象。

jquery对象和js对象可以相互转换,例如

$("#div").get(),即可以把一个jquery对象转换为js对象。

最主要的区别,js对象上的方法,不能直接用在jquery对象上,如果一定要给jquery对象使用js对象的方法,必须把jquery对象转换为js对象。jquery对象,则可以随意使用jquery定义的方法。

关于js中实例和对象的解释如下:

比如定义persion如下:

var person = new Object()

var person = {}

JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例. 当然, 一切都是对象。

第二个采用对象字面量的方式生成的person也是如此。

然而它内部没有调用new Object(),而是采用JSON的初始化方式:

将现有的引用指向person。

实例和对象的区别,从定义上来讲:

1、实例是类的具象化产品,

2、而对象是一个具有多种属性的内容结构。

实例都是对象,而对象不全是实例。

Js里面没有类(ES6以前)的语法,所以类的概念就通过创造一个对象来实现。

首先,要搞清楚这2个东西

1.JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎。

2.JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别。

之所以LZ会有这样的疑虑,原因在于对数据的理解存在偏差,对于JS的字面量来说,这段文本仅仅是代码的一部分,相当于指令,而JSON文本,其本身就表示了数据。二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。

另外,JS必须交给JS脚本引擎处理,而JSON的字符串,任何程序都能处理,至于引号的问题,取决于JSON解析器的容忍程度,如果你愿意,也可按照自己的意愿写一个解析器,能够容忍包括不写引号,或者单/双引号,甚至其他任何符号作为边界符。