- 浏览: 297673 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
全站唯一是我么:
请问下该功能的jdk版本是1.4的么,还是以上的?
Java实现给图片添加水印 -
Janne:
请问,你解决这问题没?是怎么回事?我今天也遇到了,没解决
myeclipse6.5中使用jax-ws启动tomcat报错问题 -
xuedong:
studypi 写道你是怎么和新浪的技术联系的?能告诉一下我吗 ...
新浪微博第三方接口调用学习 -
studypi:
你是怎么和新浪的技术联系的?能告诉一下我吗,谢谢
新浪微博第三方接口调用学习 -
dove19900520:
有用,呵呵
IE,Firefox都不放弃(兼容性问题总结)
在JavaScript中创建新对象
(李晓华 2001年04月29日 01:50)
使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。
在JavaScript中创建一个新的对象是十分简单的。首先它必须定义一个对象,而后再为该对象创建一个实例。这个实例就是一个新对象,它具有对象定义中的基本特征。
一、对象的定义
JavaScript对象的定义,其基本格式如下:
Function Object(属性表)
This.prop1=prop1
This.prop2=prop2
...
This.meth=FunctionName1;
This.meth=FunctionName2;
...
在一个对象的定义中,可以为该对象指明其属性和方法。通过属性和方法构成了一个对象的实例。如以下是一个关于University对象的定义:
Function university(name,city,creatDate URL)
This.name=name
This.city=city
This.creatDate=New Date(creatDate)
This.URL=URL
其基本含义如下:
Name-指定一个“单位”名称。
City-“单位”所在城市。
CreatDate-记载university对象的更新日期。
URL-该对象指向一个网址。
二、创建对象实例
一旦对象定义完成后,就可以为该对象创建一个实例了:
NewObject=New object();
其中Newobjet是新的对象,Object已经定义好的对象。例:
U1=New university(“云南省”,“昆明市”,"January 05,199712:00:00","http://www.YN.KM")
U2=New university(“云南电子科技大学”,“昆明”,"January 07,1997 12:00:00","htlp://www.YNKJ.CN")
三、对象方法的使用
在对象中除了使用属性外,有时还需要使用方法。在对象的定义中,我们看到This.meth=FunctionName语句,那就是为定义对象的方法。实质对象的方法就是一个函数FunctionName,通过它实现自己的意图。
例在university对象中增加一个方法,该方法是显示它自己本身,并返回相应的字串。
function university(name,city,createDate,URL)
This.Name=Name;
This.city=city;
This.createDate=New Date(creatDate);
This.URL=URL;
This.showuniversity=showuniversity;
其中This.showuniversity就是定义了一个方法---showuniversity()。
而showuniversity()方法是实现university对象本身的显示。
function showuniversity()
For (var prop in this)
alert(prop+="+this[prop]+"");
其中alert是JavaScript中的内部函数,显示其字符串。
四、JavaScript中的数组
使用New创建数组
JavaScript中没有提供像其它语言具有明显的数组类型,但可以通过function定义一个数组,并使用New对象操作符创建一个具有下标的数组。从而可以实现任何数据类型的存储。
a、定义对象的数组
Function arrayName(size){
This.length=Size;
for(var X=; X来定义一个越文本链接项。
Forms[]: 在程序中使用多窗体时,建立该数组。
Elements[]:在一个窗口中使用从个元素时,建立该数组。
Frames[]:建立框架时,使用该数组
anchors[]用于窗体的访问(它是通过《form name=“form1”》所指定的),link[]用于被链接到的锚点的访问(它是通过《a href=URL》所指定的)。Forms[]反映窗体的属性,而anchors[]反映Web页面中的链接属性。
有关锚数组的文档:
定义第一个锚名
HTML Code
定义第二个锚名
HTML Code
建立锚的链接
<script language="JavaScript">
with (top.window.location)
{baseURL = href.substring (0,href.lastIndexOf ("/") + 1)}
total_toc_items = 0;
current_overID = "";
last_overID = "";
browser = navigator.appName;
version = parseInt(navigator.appVersion);
client=null;
loaded = 0;
if (browser == "Netscape" && version >= 3) client = "ns3";
function toc_item (img_name,icon_col,width,height) {
if (client =="ns3") {
img_prefix = baseURL + img_name;
this.icon_col = icon_col;
this.toc_img_off = new Image (width,height);
this.toc_img_off.src = img_prefix + "_off.gif";
this.toc_img_on = new Image (width,height);
this.toc_img_on.src = img_prefix + "_on.gif";
}
}
function new_toc_item (img_name,icon_row,width,height) {
toc_item [img_name] = new toc_item (img_name,icon_row,width,height);
}
function toc_mouseover (itemID) {
if (client =="ns3") {
current_overID = itemID;
if (current_overID != last_overID) {
document [current_overID].src = toc_item [current_overID].toc_img_on.src;
if (last_overID != "") {
document.images [last_overID].src = toc_item[last_overID].toc_img_off.src;
}
last_overID = current_overID;
}
}
}
function toc_mouseout () {
if (client =="ns3") {
if (current_overID != "") {
document.images [current_overID].src = toc_item [current_overID].toc_img_off.src;
}
current_overID = "";
last_overID = "";
}
}
new_toc_item ("1",2,120,20);
<!-- Begin
function bannerObject(p){
this.msg = MESSAGE
this.out = " "
this.pos = POSITION
this.delay = DELAY
this.i = 0
this.reset = clearMessage}
function clearMessage(){
this.pos = POSITION}
var POSITION = 50;
var DELAY = 150;
var MESSAGE = "这是一个动态JavaScript文字显示的例子";
var scroll = new bannerObject();
function scroller(){
scroll.out += " ";
if(scroll.pos>0)
for (scroll.i = 0; scroll.i < scroll.pos; scroll.i++) { scroll.out +=" " ; }
if (scroll.pos>= 0)
scroll.out += scroll.msg
else
scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length)
document.noticeForm.notice.value = scroll.out
scroll.out = " ";
scroll.pos--;
scroll.pos--;
if (scroll.pos < -(scroll.msg.length)) { scroll.reset(); } setTimeout
('scroller()',scroll.delay);}
</script>
范例2:颜色变化的例子。
test5_2.htm
<script>
<!--
function makearray(n) {
this.length = n;
for(var i = 1; i <= n; i++)
this[i] = 0;
return this;}
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
hexa[i] = i;
hexa[10]="a";
hexa[11]="b";
hexa[12]="c";
hexa[13]="d";
hexa[14]="e";
hexa[15]="f";
function hex(i) {
if (i < 0)
return "00";
else if (i > 255)
return "ff";
else return "" + hexa[Math.floor(i/16)] + hexa[i%16];}
function setbgColor(r, g, b) {
var hr = hex(r);
var hg = hex(g);
var hb = hex(b);
document.bgColor = "#"+hr+hg+hb;}
function fade(sr, sg, sb, er, eg, eb, step) {
for(var i = 0; i <= step; i++) {
setbgColor( Math.floor(sr * ((step-i)/step) + er * (i/step)),
Math.floor(sg * ((step-i)/step) + eg * (i/step)), Math.floor(sb *
((step-i)/step) + eb * (i/step))); }}
function fadein() {
fade(255,0,0,0,0,255,100);
fade(0,0,255,0,255,0,100);
fade(0,255,0, 0,0,0, 100);}
fadein();
// -->
</script>
本讲介绍了用户自行创建对象的方法, 用户可根据需要创建自己的对象。并介绍了JavaScript中建数组的方法。
转自:[url]http://dev.csdn.net/htmls/83/83803.html[/url]
发表评论
-
js在Replace中使用正则
2012-08-13 13:37 973replace方法的语法是:str ... -
js中获取时间new Date()详细介绍
2011-09-23 20:37 1448var myDate = new Date(); myDate ... -
全面理解javascript的caller,callee,call,apply概念(修改版)
2011-09-05 18:16 862在提到上述的概念之前,首先想说说javascript中函数的隐 ... -
jquery的live绑定事件,不知道是不是jquery的bug
2011-09-05 18:03 1719今天无意中发现,级联菜单中,select的onchange事 ... -
JS删除数组元素
2011-09-02 14:55 1608、JS删除数组元素 view ... -
js 判断某个方法是否存在
2011-08-25 19:59 1217function fnExist(fnName) { ... -
正则表达式常用验证
2011-08-24 12:20 856在前台很多地方需要验证输入格式,为了方便以后使用,把常用的整理 ... -
勿重复检测浏览器
2011-08-19 09:53 865拿添加事件示例 Js代码 // ... -
学习Javascript闭包(Closure)
2011-08-12 18:10 896闭包(closure)是Javas ... -
深入理解Javascript闭包 .
2011-08-12 17:56 667最近在网上查阅了不少Javascript闭包(closu ... -
IE,Firefox都不放弃(兼容性问题总结)
2011-08-11 16:00 1339下面是Javascript的IE和Fire ... -
jquery ul li mouseout 事件冒泡的bug
2011-08-11 15:48 2636今天碰到个jquery的mouseout事件的问题,弄了半天 ... -
onchange,onpropertychange,oninput键盘输入和js赋值时区别
2011-08-10 15:32 3836最近项目中需要用到文本框中值改变时触发某个事件,第一反应就是 ... -
JavaScript中setAttribute用法
2011-08-10 11:30 1085我们经常需要在JavaScript中给Element动态 ... -
window.location.hash属性介绍
2011-08-08 17:52 885window.location.hash属性介绍 ... -
给页面加速,干掉Dom Level 0 Event
2011-08-08 11:50 907现在的web应用越来越 ... -
关于图片的预加载,你所不知道的
2011-08-08 11:36 923看完了曼联与曼城的同城德比,还有漫长的两个小时,才能看到期 ... -
js判断图片是否被缓存
2011-08-05 17:35 2255在ie8下测试是可以的,别的没测。有用到的可以自己测试下,呵 ... -
javascript文件在IE缓存中的迷惑与解惑实验
2011-08-05 17:12 1363javascript文件在IE缓存中的迷惑与解惑实验 缓 ... -
highcharts实现雷达图效果
2011-08-03 11:00 11865最近项目中用到了雷达图,自己在那鼓捣了一顿总算出来一个雏形, ...
相关推荐
本“JavaScript学习指南”源代码包含了深入理解并掌握JavaScript编程的关键知识点。 一、基础语法 JavaScript的基础语法包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、...
五、字符串方法扩展 1. `trim()`: 去除字符串两端的空白符。 2. `includes()`, `startsWith()`, `endsWith()`: 分别检查字符串是否包含子串,或者是否以/以某子串结束。 3. `repeat()`: 指定次数重复字符串。 4. `...
五、 JavaScript 中的文字对象 * 文字对象是JavaScript中的一种内置对象 * 文字对象可以获取和设置文本的内容 * 文字对象可以实现文本的操作和处理 * 文字对象可以实现字符串的搜索和替换 六、 JavaScript 中的...
在ACCP(阿帕奇软件基金会认证的计算机程序员)5.0的课程体系中,JavaScript的学习是必不可少的一部分。本章节主要涵盖了JavaScript的基本语法、数据类型、变量、操作符、控制流程、函数以及对象等内容。 一、基本...
五、分组与捕获 1. `()`:用于分组,可以对子表达式进行操作,如重复、选择或捕获。 2. `?:`:非捕获分组,不保存匹配结果,仅用于组合正则表达式。 六、反向引用 1. `\number`:反向引用,用于引用前面已经捕获...
本学习文档旨在提供全面的JavaScript知识,帮助你快速掌握开发技巧。 一、JavaScript基础 1. 变量与数据类型:了解JavaScript中的变量声明(var、let、const)及其作用域,以及基本数据类型(Number、String、...
这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素,进一步提升网页动态性和交互性。 DOM是HTML和XML文档的一种结构化表示,它将网页内容...
在这个"javascript作业题答案"的压缩包中,我们可以期待找到一系列与JavaScript相关的练习题及其解答,这对于学习和掌握JavaScript的重要知识是非常有帮助的。 首先,JavaScript的核心知识点包括变量、数据类型、...
这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...
这本《JaVascript权威指南》连续印刷5次,销售数十万册,成为很多Javascript学习者的必备宝典。由于其封面上是一只“爪哇犀牛”(封面上印上动物是原书出版公司O'Reilly一贯的风格),读者亲切地称其为...
通过深入学习以上知识点,并结合实际项目进行练习,相信你能在五天内对JavaScript有基本的掌握。当然,学习编程不仅仅是理论,更重要的是实践,不断编写代码,解决问题,才能真正提升技能。祝你在JavaScript的学习...
### JavaScript学习习题和实例详解 #### 一、JavaScript字符集 JavaScript采用了Unicode字符集编码。选择Unicode的主要原因是16位的Unicode编码可以表示几乎所有的书面语言,这为JavaScript提供了强大的国际化支持...
《突破JavaScript编程实例五十讲》是一本专注于JavaScript编程实践的学习资料,旨在帮助初学者和有一定基础的开发者深入理解和掌握...不论你是自学还是作为教程辅助,这本书都能成为你JavaScript学习旅程中的得力伙伴。
本手册旨在为初学者提供全面且深入的JavaScript学习指南,帮助你们理解并掌握这个强大的脚本语言。 一、JavaScript基础 JavaScript的核心概念包括变量、数据类型、操作符、控制结构、函数等。变量是存储信息的容器...
通过以上内容的学习,结合提供的"JavaScript菜鸟学习教程.doc"、"JavaScript中文版课件.doc"、"Js.pdf"等文档,以及"PPT"课件,初学者将逐步建立起JavaScript知识体系,为进一步的Web开发打下坚实基础。同时,...
这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...
以上只是JavaScript学习文档的部分要点,实际的学习过程中,还需要结合实际项目实践,不断探索和深化理解,才能真正掌握这门语言的精髓。通过阅读这份文档,相信你会对JavaScript有更全面、深入的认识。
通过《突破JavaScript编程实例五十讲》的学习,读者将能够掌握JavaScript的核心概念和实用技巧,从而更好地应对实际项目中的挑战。该教程提供的pdg文件可能是超星阅读器的电子版,配合超星阅读器4.1.EXE进行阅读,...
《突破JavaScript编程实例五十讲》是一本专注于JavaScript编程实践的教程,旨在帮助读者通过实例学习和掌握这门广泛应用于Web开发的重要语言。本书的核心理念是将理论与实践相结合,通过五十个精心设计的实例,逐步...
首先,基础语法是JavaScript学习的起点,包括变量声明(var、let、const)、数据类型(字符串、数字、布尔、数组、对象等)、运算符(算术、比较、逻辑、三元)、流程控制(条件语句、循环结构)以及函数的使用。...