jquery内置对象有哪些(javascript)

2026-04-12 18:15:02 :0

jquery内置对象有哪些(javascript)

本篇文章给大家谈谈jquery内置对象有哪些,以及javascript对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

javascript

JavaScript基础之对象
从2004年下半年开始学习Web编程至今3年有余。从HTML,asp开始到现在的VS2008一路学过来,其中学的最多的还是服务器端编程,对客户端编程的学习还是不成系统。虽然在很多个系统里面应用过脚本,有些还起到了比较重要的作用。但一直是只知其然不知其所以然,用的是小心翼翼。现在脚本编程从以前的"雕虫小技"变成了一个Web开发不可或缺的元素,其地位大大提高了,特别是Ajax兴起之后它更是"炙手可热"了。鉴于此种情况及自己对脚本编程的热爱,于是就系统地学习一下脚本。
学习是理解和记忆的过程。在理解和记忆的过程中必不可少地就需要一些辅助的记录,于是我就将自己的学习记录写成随笔。一来是帮助自己理解和记忆,二来也给其它热爱脚本的同志一些参考。
1 JavaScript对象
ECMA-262将对象(object)定义为"属性的无序集合,每个属性存放一个原始值、对象或函数"(unordered collection of properties each of which contains a primitive value, object, or function)。这意味着对象是无特定顺序的值的数组。在ECMAScript中,对象由特性(Attribute)构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数,它将被看作对象的方法(Method),否则该特性被看作属性(Property)。
2 对象的废除
ECMAScript有无用存储单元收集程序(就像C#的垃圾收集器),意味着不必专门销毁对象来释放内存。当再没有对对象的引用时,该对象就被废除了。运行无用存储单元收集程序时,所有废除的对象都会被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些其它不可预知的情况下,无用存储单元收集程序也会运行。
把对象的所有引用都设置为null,可以强制性的废除对象。例如:
Var oObject=new Object();
// 程序逻辑
oObject=null;
当变量oObject设置为null后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。
每用完一个对象后,就将其废除,来释放内存,这是个好习惯。这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现。此外,旧的浏览器(如IE)没有完全的无用存储单元收集程序,所以卸载页面时,对象可能不能被正确地销毁。以前IE6就有这样的诟病,当页面被关闭后对象还是没有被释放,所以总是会导致内存溢出的错误。废除对象和它所有的特性是确保内存正确使用的最好方法。
3 对象的类型
JavaScript中对象分为:本地对象(native object)、内置对象(built-in object)、宿主对象(host object)。其中本地对象和宿主对象大家一般用的比较多,比较熟。这里我就重点说明一下内置对象。
ECMA-262把内置对象定义为"由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现"(any object supplied by an ECMAScript implementation, independent of the host environment, which is present at the start of the execution of an ECMAScript program.)。这意味着开发者不必明确实例化内置对象,它已经被实例化了。但ECMAScript只定义了两个内置对象:
3.1 Math对象
Math对象就是解决数学问题的所有公式。这个在各种编程语言中都有类似的实现,就不做介绍了。
3.2 Global对象
园子里很多搞ASP.net的,相信大家对其中的Global.asax非常熟悉了。但这个对象在ECMAScript中却比较特殊。因为它实际上根本就不存在。如果尝试编写下面的代码去实例化它,将得到错误:
Var _global=new Global();
错误消息显示Global不是对象,但上文却说Global是一个内置对象,这不就自相矛盾了吗?不矛盾。这里需要理解的主要概念是,在ECMAScript中,不存在独立的函数,所有的函数都必须是某个对象的方法。ECMAScript中常用的函数例如isNaN()、isFinite()等,看起来都像独立的函数。实际上,它们都是Global对象的方法。而且Global对象的方法还不止这些。
4 定义类或对象
虽然ECMAScript越来越正规化了,但创建对象的方法却被置之不理。在高级的编程语言(如C#)中,创建对象的方法被明确的定义了。所以不会有太大的分歧。但在脚本语言中创建对象的方法就是多种多样了。
4.1 工厂方式
由于对象的属性可在对象创建后动态定义,所以许多开发者都在初次引入JavaScript时编写类似下面的代码:
Var oCar=new Object();
oCar.color="red";
oCar.doors=4;
oCar.mpg=23;
oCar.showColor=function(){alert(this.color);};
在这段代码中,创建对象car。然后给它设置几个属性:它的颜色是红色,有四个门,每加仑油23英里。最后一个属性是指向函数的指针,意味着该属性其实是个方法。执行这段代码后,就可以使用对象car了。可是要创建多个car实例就麻烦了。
要解决此问题,开发者可以创建并返回特定类型的对象的工厂函数。例如,函数CreateCar()可用于封装前面列出的创建car对象的操作:
Function createCar()
{
Var oTempCar=new Object();
oTempCar.color="red";
oTempCar.doors=4;
oTempCar.mpg=23;
oTempCar.showColor=function(){alert(this.color)};
return oTempCar;
}
Var oCar1=createCar();
Var oCar2=createCar();
这里,前面的所有代码都包含在createCar()函数中,此外还有一行额外的代码,返回Car对象作为函数值。调用此函数时,将创建新对象,并赋予它所有必要的属性,复制出一个前面说明的car对象。使用该方法,可以容易地创建car对象的两个版本,他们的属性完全一样。当然,还可以修改creatCar()函数,给它传递各个属性的默认值,而不是赋予属性默认值:
Function createCar(sColor,iDoors,iMpg)
{
Var oTempCar=new Object();
oTempCar.color= sColor;
oTempCar.doors= iDoors;
oTempCar.mpg= iMpg;
oTempCar.showColor=function(){alert(this.color)};
return oTempCar;
}
Var oCar1=createCar("red",4,23);
Var oCar2=createCar("blue",2,26);
oCar1.showColor(); // 输出"red"
oCar2.showColor(); // 输出"blue"
给createCar()函数加上参数,即可为要创建的car对象的color、doors和mpg属性赋值。使这两个对象具有相同的属性,却有不同的属性值。但这里有个问题:每次调用函数createCar(),都要创建新函数showColor(),意味着每个对象都有自己的showColor()版本。事实上,每个对象用的都是同一段代码。这样的定义方法还有一个如下的变形:
Function Car(sColor,iDoors,iMpg)
{
this.color= sColor;
this.doors= iDoors;
this.mpg= iMpg;
this.showColor=function(){alert(this.color)};
}
Var oCar1=new Car("red",4,23);
Var oCar2=new Car("blue",2,26);
oCar1.showColor(); // 输出"red"
oCar2.showColor(); // 输出"blue"
这个方法和上一个方法有个一样的缺陷:重复的创建了showColor()函数。为了解决这个缺陷我们可以用下面的方法。
4.2 原型方式
该方法利用了对象的Prototype属性。用空构造函数来设置类名,然后所有的属性和方法都被直接赋予prototype属性:
Function Car()
{}
Car.prototype.color="red";
Car.prototype.doors=4;
Car.prototype.mpg=23;
Car.prototype.showColor=function(){alert(this.color)};
Var oCar1=new Car();
Var oCar2=new Car();
使用这个方法可以解决重复创建showColor()函数,但又会有新的问题,考虑下面的例子:
Function Car()
{}
Car.prototype.color="red";
Car.prototype.doors=4;
Car.prototype.mpg=23;
Car.prototype.drivers=new Array("Mike","Sue");
Car.prototype.showColor=function(){alert(this.color)};
Var oCar1=new Car();
Var oCar2=new Car();
oCar1.drivers.push("Matt");
alert(oCar1.drivers); // 输出"Mike,Sue,Matt"
alert(oCar2.drivers); // 输出"Mike,Sue,Matt"
这里,属性drivers是指向Array对象的指针。改变指针指向的内容,所有的实例都会改变。看来这种方法也不可取
4.3 混合方式
这种方式就是用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果所有的函数只创建一次,而每个对象都具有自己的对象属性实例。
Function Car(sColor,iDoors,iMpg)
{
this.color= sColor;
this.doors= iDoors;
this.mpg= iMpg;
Car.drivers=new Array("Mike","Sue");
}
Car.prototype.showColor=function(){alert(this.color)};
Var oCar1=new Car("red",4,23);
Var oCar2=new Car("blue",3,25);
oCar1.drivers.push("Matt");
alert(oCar1.drivers); // 输出"Mike,Sue,Matt"
alert(oCar2.drivers); // 输出"Mike,Sue"
这种方式是ECMAScript主要采用的方式,它具有其他方式的特性,却没有它们的缺陷。在实际编程中应用的也是最多了。
另外还有JSON创建方式。其创建的方式如下:
var Car =
{
color: "red",
doors: 4,
mpg: 23,
drivers: ,
showColor: function() {alert(this.color)}
};
这种创建对象的方式也比较优雅。可作为Ajax返回的文本,然后用eval()函数将其还原成一个对象。著名的脚本框架JQuery就有专门接收返回文本为JSON对象的异步方法。

jquery中$的疑惑

首先先纠正你一个错误, 第三种情况的写法是错误的, 在jq中没有这种用法, 在整个js中都没有这种用法, 我想你应该是用错了括号, $,这应该才是你想问的情况.

先说在js中这三种用法的本质:

  1. 这是函数调用方式, 也就是说$这个变量其实是一个函数

  2. 这也是函数调用, 不过调用的不是$. 这一种情况就要把$理解成一个对象, 用json方式表示的话, 类似这个样子,{ get: function(){} }, 然后调用的就是$对象下的get这个方法.

  3. 第三种情况$(); 这同样实现了第二种情况的调用.

然后是在jq中这几种情况的实际应用

  1. $( ’#xx’ )这是jq选择器的核心, 获取页面上id=’xx’的元素. 用面向对象( 这里对面向对象思想就不赘述, 请自行去了解了, 太多我也说不完 )的思想来说, 其实这个函数的调用是实例化了一个jq对象,然后返回的是jq对象本身, 这是一个类数组对象, 可以用数组的方法进行列举

  2. $.get(); 这个是调用jq的静态( 简单点理解就是不受到实例化影响 )方法, 这里没有进行jq的实例化; 而这里的get是jq的ajax方法, 具体请自行查阅jq的api

  3. $ 这种情况就不用多说了, 在jq里如果有这种情况也就是访问静态变量的意思

关于本次jquery内置对象有哪些和javascript的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

jquery内置对象有哪些(javascript)

本文编辑:admin

更多文章:


c语言char(在C语言中CHAR是什么类型变量)

c语言char(在C语言中CHAR是什么类型变量)

今天给各位分享在C语言中CHAR是什么类型变量的知识,其中也会对在C语言中CHAR是什么类型变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录在C语言中CHAR是什么类型变量请问c语言中能否初始化部分数组c语

2025年6月23日 11:45

php入门教程 高洛峰(高洛峰出生于哪里)

php入门教程 高洛峰(高洛峰出生于哪里)

这篇文章给大家聊聊关于php入门教程 高洛峰,以及高洛峰出生于哪里对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录高洛峰出生于哪里php 好的学习网站有哪些高洛峰出生于哪里高洛峰高洛峰,智校云创始人&系统架构师&畅销书《细说P

2025年7月27日 02:45

定义一个长度为20的数组(求一个c语言程序定义一个长度为20的整型数组)

定义一个长度为20的数组(求一个c语言程序定义一个长度为20的整型数组)

各位老铁们好,相信很多人对定义一个长度为20的数组都不是特别的了解,因此呢,今天就来为大家分享下关于定义一个长度为20的数组以及求一个c语言程序定义一个长度为20的整型数组的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年3月24日 17:45

幻灯片放映快捷键(powerpoint中放映幻灯片的快捷键为())

幻灯片放映快捷键(powerpoint中放映幻灯片的快捷键为())

这篇文章给大家聊聊关于幻灯片放映快捷键,以及powerpoint中放映幻灯片的快捷键为()对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录powerpoint中放映幻灯片的快捷键为()PPT演示中的快捷键,这些操作你都会吗放映

2026年1月16日 21:30

可以变图案的扇子叫什么?如何挑选玳瑁

可以变图案的扇子叫什么?如何挑选玳瑁

本篇文章给大家谈谈玳瑁扇,以及可以变图案的扇子叫什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录可以变图案的扇子叫什么如何挑选玳瑁可以变图案的扇子叫什么玳瑁扇。玳瑁是海洋动物,属龟科类,体积一般为60厘米至160厘米,角质

2026年1月7日 18:00

爬虫程序从网上爬取数据的步骤(详细数据分析步骤(一)-数据获取)

爬虫程序从网上爬取数据的步骤(详细数据分析步骤(一)-数据获取)

大家好,今天小编来为大家解答以下的问题,关于爬虫程序从网上爬取数据的步骤,详细数据分析步骤(一)-数据获取这个很多人还不知道,现在让我们一起来看看吧!本文目录详细数据分析步骤(一)-数据获取如何爬取网页数据详细数据分析步骤(一)-数据获取

2025年6月26日 01:00

sql注入防范有哪些方法(防止sql注入有什么比较可靠的方法)

sql注入防范有哪些方法(防止sql注入有什么比较可靠的方法)

本篇文章给大家谈谈sql注入防范有哪些方法,以及防止sql注入有什么比较可靠的方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录防止sql注入有什么比较可靠的方法怎样防止sql注入网站如何防SQL注入防止sql注入有什么比较

2025年7月5日 08:45

linux系统哪个最小(有图形界面的最小linux系统是哪个)

linux系统哪个最小(有图形界面的最小linux系统是哪个)

本篇文章给大家谈谈linux系统哪个最小,以及有图形界面的最小linux系统是哪个对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录有图形界面的最小linux系统是哪个各位高手 linux最小的桌面系统是哪个有图形界面的最小li

2026年3月26日 15:00

400电话导航模板(400电话怎么设置语音提示进入选项)

400电话导航模板(400电话怎么设置语音提示进入选项)

大家好,今天小编来为大家解答以下的问题,关于400电话导航模板,400电话怎么设置语音提示进入选项这个很多人还不知道,现在让我们一起来看看吧!本文目录400电话怎么设置语音提示进入选项400电话的IVR导航功能是什么400电话数字键导航怎么

2026年1月22日 13:45

zend框架(php开发工具是什么)

zend框架(php开发工具是什么)

大家好,如果您还对zend框架不太了解,没有关系,今天就由本站为大家分享zend框架的知识,包括php开发工具是什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录php开发工具是什么PHP中的ZEND框架是做什么

2025年9月20日 16:15

hero翻译(hero的意思 原来它还有这个意思)

hero翻译(hero的意思 原来它还有这个意思)

大家好,关于hero翻译很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于hero的意思 原来它还有这个意思的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目

2026年4月27日 13:15

red5教程(索爱k810i刷机详细教程)

red5教程(索爱k810i刷机详细教程)

大家好,关于red5教程很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于索爱k810i刷机详细教程的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录索爱k

2025年10月18日 14:15

nginx配置文件设置为file(nginx conf.d目录下的文件怎么配置)

nginx配置文件设置为file(nginx conf.d目录下的文件怎么配置)

本篇文章给大家谈谈nginx配置文件设置为file,以及nginx conf.d目录下的文件怎么配置对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月16日 16:15

pe镜像img格式下载(求一个winpe启动光盘镜像下载地址)

pe镜像img格式下载(求一个winpe启动光盘镜像下载地址)

今天给各位分享求一个winpe启动光盘镜像下载地址的知识,其中也会对求一个winpe启动光盘镜像下载地址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录求一个winpe启动光盘镜像下载地址怎么在电脑c盘里拷贝到

2026年5月16日 21:30

bootstrap使用说明(bootstrap table怎么重置表单)

bootstrap使用说明(bootstrap table怎么重置表单)

大家好,今天小编来为大家解答以下的问题,关于bootstrap使用说明,bootstrap table怎么重置表单这个很多人还不知道,现在让我们一起来看看吧!本文目录bootstrap table怎么重置表单如何用bootstrap制作简历

2026年4月29日 13:45

graphic什么意思(graphic design是什么意思)

graphic什么意思(graphic design是什么意思)

各位老铁们,大家好,今天由我来为大家分享graphic什么意思,以及graphic design是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本

2026年6月6日 01:15

python3 idle下载(python:爬图并下载到本地指定文件夹)

python3 idle下载(python:爬图并下载到本地指定文件夹)

大家好,python3 idle下载相信很多的网友都不是很明白,包括python:爬图并下载到本地指定文件夹也是一样,不过没有关系,接下来就来为大家分享关于python3 idle下载和python:爬图并下载到本地指定文件夹的一些知识点,

2026年5月24日 06:45

满字组词有哪些?圆的组词有哪些呢

满字组词有哪些?圆的组词有哪些呢

今天给各位分享满字组词有哪些的知识,其中也会对满字组词有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录满字组词有哪些圆的组词有哪些呢满字组词有哪些词语满有什么组词什么满组词满字组词有哪些满字组词:满分、满

2026年4月15日 13:00

字体美化大师免root版(苹果手机字体软件app哪个好)

字体美化大师免root版(苹果手机字体软件app哪个好)

这篇文章给大家聊聊关于字体美化大师免root版,以及苹果手机字体软件app哪个好对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录苹果手机字体软件app哪个好字体美化大师资源应用失败请稍后再试怎么办手机改字体的有哪些软件苹果手机

2026年6月4日 16:15

html 教程pdf(关于PDF文件转换成HTML问题,如何将PDF转成html)

html 教程pdf(关于PDF文件转换成HTML问题,如何将PDF转成html)

“html 教程pdf”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看html 教程pdf(关于PDF文件转换成HTML问题,如何将PDF转成html)!本文目录关于PDF文件转换成HTML问题,如何将PDF转成html怎么

2025年11月17日 18:30

近期文章

conduct well behave well(behaviour 和behavior有什么区别)
2026-09-25 03:00:02
本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索