`
文章列表
属性方法是可以带参数: function ClassX(name) { this.name = name; ClassX.prototype.show = function (param) { alert(this.name + " " + param); }; } var o = new ClassX("name"); o.show("param");//name param  但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o.show('param')时,而是通过其他函数回调传入时,就不 ...
创建和操作节点 节点创建方法 DOM Document(文档)中有一些方法用于创建不同类型的节点,即便在所有的浏览器中的浏览器document对象并不需要全部支持所有的方法。下面的表格列出了包含在DOM Level 1中的方法,并列出不同的浏览器是否支持项。 方    法 描    述
DOM接口(API) 核心接口 DOM是语言无关的API,这意味着它的实现并不与Java、JavaScript或者其他语言绑定。DOM定义了Node的接口以及组成DOM树(也称之为文档)各元素的Node子接口,组成树的各元素都是Node节点。下面这些都是Node的 ...
BOM (浏览器对象模型),它提供了独立于内容而与浏览器窗口进行交互的对象。   BOM 由一系列相关的对象构成。下图展示了 基本的 BOM 体系结构:     可以看到, window 对象是整个 BOM 的核心。 window 对象 window 对象表示整个浏览器窗口,但不必表示其中包含的内容。   如果页面使用框架集合,每个框架都有它自己的 window 对象表示,并存放在父window的 frames 集合中。   top 对象指向的都是最顶层的(最外层的)框架,即浏览器窗口自身。   可以用 window.frames[0] 或 ...
zInherit 利用zInherit库(可以从http://www.nczonline.net/downloads 处下载),不必使用原型链,也可实现方法继承。 Inherit库给Object类添加了两个方法,inheritFrom()和instanceOf()。inheritFrom()方法负担重任,负责复制指定类的所有方法。下面一行代码用原型链使ClassB继承ClassA的方法: ClassB.prototype = new ClassA(); 可用下面代码替换上面的代码: ClassB.prototype.inheritFrom(ClassA); inheritFrom( ...
所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类。有时,你可能想创建一个不能直接使用的基类,它只是用于给子类提供通用的函数。在这种情况下,基类被看作抽象类。尽管ECMAScript并没有像其他语言那样严格地定义抽象类,但有时它的确会创建一些不允许使用的类。通常,我们称这种类为抽象类。 创建的子类将继承超类的所有属性和方法,包括构造函数及方法的实现。记住,所有属性和方法都是公用的,因此子类可直接访问这些方法。子类还可添加超类中没有的新属性和方法,也可以覆盖超类中的属性和方法。    JavaScript中的继承机制并不是明确规定的,而是通过模仿实现的。   ...
可以用prototype属性为任何已有的类定义新方法 ,就像处理自己的类一样。现为Number添加一个转十六进制的方法: Number.prototype.toHexString = function(){ return this.toString(16); } var iNum =15; alert(iNum.toHexString());//f 如果想给ECMAScript中的每个本地对象添加新方法,必须在Object对象的prototype属性上定义它 。如上一章所述,所有本地对象都继承 了Object对象,所以对Object对象做任何改变,都会反应在所有本 ...
长单词自动换行一直是浏览器中的一个问题。对于中文没有这个问题,每个中文字符之后都可以换行。对于正常的英文也没有这个问题,比如:i love big breasts. 每个代词后面都可以插入换行。但是对于所谓的“长单词”,如200个a,aaaaaaa......,就有了问题,浏览器会认为切断一个本来应该连在一起的单词是不道德的,所以他们拒绝自动截断这种单词换行。于是这出现了一个问题:这个段落所在的元素,或者说容器(container)可能是有一个固定宽度的,比如200px,太长的单词将破环这个格式。IE中有一个很好用的属性: word- wrap:break-word; 有了这个属性之后, ...
function getXMLHttpRequest() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { //Internet Explorer 6.0+ xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { // ...
可以以六种方式定义类或对象:工厂方式、构造函数方式、原型方式、混合的构造函数/原型方式、动态原型方法、混合工厂方式 ,下面看看个体每种方式。 工厂方式 var oCar = new Object; oCar.color = "red"; oCar.doors = 4; oCar.mpg = 23; oCar.showColor = function () { alert(this.color); };   上面的创建方式有一点不太好就是的,如果要创建多个car对象时,这时我们就会要重复写上面的代码,指定color、doors、mpg ...
定义 数组定义有如下几种方式: var arr1 = new Array(); arr1[0] = 1; arr1[1] = 'str'; arr1[2] = {}; alert(arr1[3]);//undefined alert(arr1);//1,str,[object Object] var arr2 = new Array(3); arr2[0] = 1; arr2[2] = 3; alert(arr2[1]);//undefined alert(arr2);//1,,3 var ar ...
JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-oriented)。之所以说它是一门基于对象的语言,主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复杂对象统 ...
函数定义 函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。 函数的构造语法有这三种: function functionName(arg0, arg1, ... argN) { statements }//function语句 var function_name = new function(arg1, arg2, ..., argN, function_body);//Function()构造函数 var func = function(arg0, arg1, ... argN) { statements };//函 ...
delete delete 运算符删除对以前定义的对象属性或方法的引用。例如: var o = new Object; o.name = "David"; alert(o.name); //输出 "David" delete o.name; alert(o.name); //输出 "undefined"   在这个例子中,删除了 name 属 ...
with语句 with 语句用于设置代码在特定对象中的作用域。 var sMessage = "hello"; with(sMessage) { alert(toUpperCase()); //输出 "HELLO" }  提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。
Global site tag (gtag.js) - Google Analytics