javascript的封装实例

StringBuffer方法的js自定义封装:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<script language="JavaScript">
function StringBuffer()
{
this._strings_=new Array();
}
StringBuffer.prototype.append=function(str)
{
this._strings_.push(str);
}
StringBuffer.prototype.toString=function(){
return this._strings_.join("");
}
//call
var strobj=new StringBuffer();
strobj.append("hello");
strobj.append("world");
alert(strobj.toString());
</script>
</body>
</html>

修改对象已有的属性,创建新方法

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<script language="JavaScript">
Number.prototype.toHexString=function()
{
return this.toString(16);
}
//call
var iNum=15;
alert(iNum.toHexString());
</script>
</body>
</html>

封装Array的压栈和出栈及indexOf方法:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<script language="JavaScript">
Array.prototype.enqueue=function(vItem)
{
this.push(vItem);
}
Array.prototype.dequeue=function() {
return this.shift();
}
Array.prototype.indexOf=function(vItem)
{
for(var i=0;i<this.length;i++)
{
if(vItem==this[i])
{
return i;
}
}
return -1;
}
//call
var arr=new Array();
arr.enqueue("aaa");
arr.enqueue("bbb");
arr.dequeue();
alert(arr);
</script>
</body>
</html>

封装Object的alert方法:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<script language="JavaScript">
Object.prototype.alert=function()
{
alert(this.valueOf());
}
//call
var str="hello";
var iNum=33;
str.alert();
iNum.alert();
</script>
</body>
</html>

时间: 2024-10-11 16:15:32

javascript的封装实例的相关文章

JavaScript的封装和继承

提到JavaScript"面向对象编程",主要就是封装和继承,这里主要依据阮一峰及其他博客的系列文章做个总结. 继承机制的设计思想 所有实例对象需要共享的属性和方法,都放在这个对象里面:那些不需要共享的属性和方法,就放在构造函数里面. 由于所有的实例对象共享同一个prototype对象,那么从外界看起来,prototype对象就好像是实例对象的原型,而实例对象则好像"继承"了prototype对象一样. 封装 主要介绍了如何"封装"数据和方法,以

第一百四十节,JavaScript,封装库--浏览器检测

JavaScript,封装库--浏览器检测 在函数库编写一个,浏览器检测对象 /** sys浏览器检测对象,对象下有两个属性,liu_lan_qi属性和xi_tong属性 * liu_lan_qi属性,检测浏览器名称和版本号,如:alert(sys.liu_lan_qi); * xi_tong属性,检测浏览器运行环境,如:alert(sys.xi_tong); **/ (function () { //闭包,自我执行 window.sys = {}; //全局变量对象,保存浏览器信息 var u

第一百三十一节,JavaScript,封装库--CSS

JavaScript,封装库--CSS 将封装库里的方法,改成了原型添加方法 增加4个方法 tian_jia_class()方法,给获取到的元素添加class属性,参数是class属性值,可以连缀1 yi_chu_class()方法,给获取到的元素移除class属性,参数是要移除的class属性值,可以连缀2 she_zhi_link_css()方法,设置link连接.或style内嵌.中的CSS样式3 yi_chu_link_css()方法,移除link连接.或style内嵌.中的CSS样式4

第一百三十九节,JavaScript,封装库--CSS选择器

JavaScript,封装库--修改元素选择器 就是将构造库函数修改成元素选择器,像css那样,输入#xxx .xxx xxx  (获取指定id下的指定class下的指定标签元素) 修改后的基础库 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象,使其每次调用都是独立的对象 * $()创建库对象,有一个可选参数,参数有两种方式,1是传入的this,2是传入的字符串 * 可选参数说明: * 传入的

第一百三十五节,JavaScript,封装库--拖拽

JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽,如:cursor: move; * 无参 **/ feng_zhuang_ku.prototype.tuo_zhuai = function () { if (this.jie_dian.length == 1) { var yan_su = null; for (var i = 0; i < th

JavaScript发布/订阅实例

原文链接: Pub/Sub JavaScript Object原文日期: 2014年6月11日翻译日期: 2014年6月13日 翻译人员: 铁锚 高效AJAX网站的三大杀器: 事件代理, 浏览历史管理, 以及高效应用级 发布/订阅通信机制. 本博客的原文站点 同时使用了这三种技术,本文中作者将分享其中最简单的一个: 该网站使用的 一个微型 发布/订阅模块. 如果你不了解 发布/订阅 模式,那么可以将其类比为 你发表了一篇博文,所有人都可以订阅你的博客, 也类似于广播电台的工作方式: 有一个站台进

简单的JS运动封装实例---侧栏分享到

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <style> 7 #div1 {width: 100px; height: 200px; background: red;

第一百三十三节,JavaScript,封装库--弹出登录框

JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事件,当窗口的大小变化时触发函数 /** yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面, * 注意:使用此方法时,首先要在css里将目标区块设置成(绝对定位,position: absolute;) **/ feng_zhuang_ku.prototype.yuan_su_j

javaScript 面向对象开发实例

javaScript 面向对象开发实例 这个是结合require的模块化开发,首先创建构造函数: //test.js 1 function Test(lists) { 2 var config={ 3 name:lists.name, 4 sex:lists.sex 5 }; 6 this.init(config) 7 } 8 Radio.prototype = { 9 init: function(config) { 10 var self=this; 11 self.initContent(