写了一个StringBuffer的类:可以实现简单的功能
var sb = new StringBuffer("a","b");
sb.append("c");
sb.append("d");
alert(sb.toString());
类的定义:
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var StringBuffer = Class.create();
StringBuffer.prototype = {
initialize:function(){
this._array = new Array;
for(var i=0;i < arguments.length;i++){
this._array.push(arguments[i]);
}
}
,
append:function(){
for(var i=0;i < arguments.length;i++){
this._array.push(arguments[i]);
}
}
,
toString:function(){
return this._array.join("");
}
};
在写的过程中遇到一个问题:
如果参数直接传arguments,答应出的是[object Object],但是如果用apply之后就没问题,估计arguments是个相对于本对象的一个函数,不能当参数传递。下面这段代码就是例子。
function a1(){
var _array = new Array;
_array.push(1);
_array.push(2);
alert(arguments);
a2();
}
function a2(){
alert(arguments[0]);
}
分享到:
相关推荐
JavaScript面向对象基础PPT,讲述了何谓面向对象、面向对象特点、组成及写法、工厂模式、原型以及如何将普通面向过程的代码转换为面向对象的基本原则
Moo-CSS 模块化面向对象的css写法
本人一行注释一行代码翻译了该大师的艺术作品--目的说明它是在第1,2阶段文档演示的JavaScript面向对象的书写方式的进一步改进,它是现代JavaScript面向对象编程方式(使用基本类来编码)的过渡代码--没有它就没有当今...
写选项卡的时候,要改变为面向对象的写法,面向兑现的写法更容易扩展或者维护,这里是文章的Markdown文档,需要的可以下载浏览,如有错误,欢迎指出 谢谢
面向对象写的一个点击选项卡,复用这个面向对象写法,同时为不同的添加不一样的方法
主要介绍了四种js面向对象的常见写法,还介绍了有关this的相关内容,感兴趣的小伙伴们可以参考一下
早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...
之前的项目中需要一个购买数据商品并付款的功能,刚开始一直不敢使用面向对象的写法,主要是没有理清思路,而且那时的数据商品比较的复杂,就一直没敢动,在网上也找些面向对象的写法,把思路理清一遍,就想自己试着...
JavaScript面向对象代码的写法与其它常见语言(Java C# C++)几乎完全不同。
但在javascript里面多态的概念是不存在,而继承由于web页面的必须先下载js在运行导致js的继承不能像后台那么灵活而且js没有重载以及重写不方便(而且js中重写的意义不是很大),所以在js中很少用到面向对象,可能在一些...
相信大家对javascript中的面向对象写法都不陌生,那还记得有几种创建对象的写法吗?相信大家除了自己常写的都有点模糊了,那接下来就由我来帮大家回忆回忆吧! 1. 构造函数模式 通过创建自定义的构造函数,来定义...
ES6提供了更接近面向对象(注意:javascript本质上是基于对象的语言)语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 基本上,ES6的class可以看作只是一个语法糖,它的绝...
需要office2007才能打开,或者使用office2003兼容2007包,本课程分了两段,第一部分是javascript入门基础和中级教程,后面是高级,讲到了javascript的作用域链和原型链,以及javascript面向对象的继承写法,...
javascript中的对象创建声明: var obj = {}; 或者 var obj = new Object(); 为对象加入属性,方法: //=====第一种写法==================================== obj.name = ‘小明’; //为对象加属性 obj.updateName...
Javascript代码 其中很多都是伪代码的写法
面向对象的实现 设计模式实现 模块化开 javascript 常见的疑问 jQuery NodeJs html5 Javascript based 1.对象 JavaScript 引用 2.JavaScript this 3.JavaScript 闭包 4.JavaScript 事件 5.javascript 跨域 6....
js的单例写法 JS单例模式 div{height:100px; width:100px; background:#CCC; border:#000 1px solid;} 你是?(单例) 你是?(普通) [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] loop.js是一个单例模式的...
它支持面向对象编程,并可以与其他技术(如Ajax和Web API)一起使用,以实现更复杂的功能,如实时更新内容、响应用户操作和创建交互式网页游戏。 在2019年,JavaScript的使用已经非常广泛,不仅在浏览器中运行,还...
javascript中的对象JS作为一种动态语言,在语法上有相当大的自由度,所以造成了一种功能,有N种写法的局面。 在JS中实现OOP,一般来说有两种方法: 第一种:使用this关键字 function Class1() { this.onclick = ...
私有方法写法: 代码如下: function myClass () { var private_attribute = initial_value; function private_method () { } var private_method2 = function () { } } 实例showpet()就是一个私有方法 代码如下: ...