JavaScript面向对象编程(4)prototype使用案例:内置对象增强

接上一讲,prototype可以用于动态增强对象,那么有些js的原生类,没有提供我们想要的功能的时候,我们就可以用prototype对其增强。

下面是一些具体的案例,希望大家能举一反三:

<pre name="code" class="javascript">//检测指定元素是否在数组中
Array.prototype.contains=function(e){
	for(i in this){
		if(this[i]===e)
			return true;
	}
	return false;
};
//测一测
alert(new Array('a','b').contains('a'));
var arr = ['red','yellow','blue'];
alert(arr.contains('red'));

//头尾去空
String.prototype.trim=function(){
	return this.replace(/^\s+|\s+$/igm,'');
};
alert("'   abc   '的长度==="+'   abc   '.length);
//测一测去空后的长度
alert("'   abc   '去空后的长度==="+'   abc   '.trim().length);
时间: 2024-10-12 12:36:20

JavaScript面向对象编程(4)prototype使用案例:内置对象增强的相关文章

JavaWeb编程(二)Jsp内置对象

1.JSP:html中嵌入java代码.2.JSP执行过程: 客户端通过浏览器发送请求: 由web容器将得到的请求jsp文件翻译成.java文件; (servlet文件) 再将翻译成.java文件编译成.class; 最后执行.class并将结果响应给客户端进行呈现. 3.JSP执行过程经历了哪几个阶段: 请求阶段 翻译阶段 编译阶段 执行阶段4.jsp页面元素组成 静态文本(html) 指令<%@ %>(比如:<%@page %>,<%@include%>) 表达式&

Javascript 基础学习(七)常用内置对象

Array 定义 数组也是一个对象,是一个用来存储数据的对象.和Object类似,但是它的存储效率比普通对象要高.数组中保存的内容我们称为元素.数组使用索引(index)来操作元素.索引指由0开始的整数. 数组操作 //创建数组 var arr = new Array();//使用内置对象Array var arr2 = new Array(10);//表示创建一个长度为10 的数组 var arr3 = []; var arr4 = [];//表示创建一个数组,数组中只有一个元素 10 //向

《JavaScript高级程序设计》读书笔记 ---单体内置对象

Global对象Global(全局)对象可以说是ECMAScript 中最特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的.ECMAScript 中的Global 对象在某种意义上是作为一个终极的“兜底儿对象”来定义的.换句话说,不属于任何其他对象的属性和方法,最终都是它的属性和方法.事实上,没有全局变量或全局函数:所有在全局作用域中定义的属性和函数,都是Global 对象的属性.本书前面介绍过的那些函数,诸如isNaN().isFinite().parseInt()以及pars

javascript 引用类型 - 内置对象(Math对象)

javascript 有很多不必显示地实例化内置对象,因为他们已经实例化了,如前面介绍的Object,Array,String. 然后还有两个单体内置对象:Global和Math. Global对象可以说是比较特殊的一个对象,因为你看不到他的存在,所有全局作用域定义的属性和函数,都是Global对象的属性. 这里学习讨论一下Math对象 Math对象和其他计算方法相比,这个对象提供的计算功能执行起来要快得多,而且还提供了辅助完成这些计算的属性和方法. min()和max() 这个可以确定求组一组

[Javascript] 面向对象编程思想

1.创建对象 1.1 new 用new进行创建对象: var user = new Object(); user.age = 12;//同时为对象添加属性 user.name = 'ajun'; 1.2{} 用{}创建对象,如: var user = { 'name':'ajun, 'age':12 } 这里同时候为user添加了两个属性分别为:name,age 在以上代码稍加改造,你还可以为一个对象添加一个方法,如: var user = { 'name':'ajun', 'age':12 '

JavaScript面向对象编程[转]

JavaScript面向对象编程 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是另一个包含方法,属性,对象的对象. 需要认识到非常重要的一点,与其他面向对象编程语言中的普通对象和命名空间相比,它们在语言层面上没有区别. 创造的JavaScript命名空间背后的想法很简单:一个全局对象被创建,所有的变量,方法和功能成为该对象的属性.使用命名空间也最大程度地减少应用程序的名称冲突的可能性. 我们来创建一个全局变

Javascript面向对象编程(二):构造函数的继承

这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = "动物"; } 还有一个"猫"对象的构造函数. function Cat(name,color){ this.name = name; this.color = col

Javascript 面向对象编程(一):封装

学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握. 下面就是我的学习笔记,希望对大家学习这个部分有所帮助.我主要参考了以下两本书籍: <面向对象的Javascript>(Object-Oriented JavaScript) <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd

再谈javascript面向对象编程

前言:虽有陈皓<Javascript 面向对象编程>珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力.另外这篇文章是一篇入门文章,我也是才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正 吐槽Javascript 初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适,这种不适来自于Javascript的语法的简练和不严谨,这种不适也 来自Javascript这个悲催的名称,