1 function Stack() {
 2   this.dataStore = [];
 3   this.top = 0; //指向栈顶的位置
 4   this.push = push;
 5   this.pop = pop;
 6   this.peek = peek;
 7   this.clear = clear;
 8   this.length = length;
 9
10   function push(element) {
11     this.dataStore[this.top++] = element; //先赋值后++
12   }
13
14   function peek() {
15     return this.dataStore[this.top - 1];
16   }
17
18   function pop() {
19     return this.dataStore[--this.top]; //先--运算
20   }
21
22   function clear() {
23     this.top = 0;
24   }
25
26   function length() {
27     return this.top;
28   }
29 }
30
31 var s = new Stack();
32 s.push("David");
33 s.push("Raymond");
34 s.push("Bryan");
35 console.log(s);
36 console.log("length: " + s.length()); 

注意:
这样的一步操作arr[i++]="ddd";----》这里的执行顺序是:先执行赋值后进行的++运算
等价于下面的两布操作:
arr[i] = "ddd";
i++;
//这样写才是先执行++运算
arr[++i]="ddd";

转载于:https://www.cnblogs.com/dongruiha/p/6307318.html

js面向对象写法及栈的实现相关推荐

  1. js面向对象写法,一个小例子

    /*** * 这是一个校验文件*/ var MyValidation = function(){//校验数据库this.validDatabase = function(source){if(sour ...

  2. Canvas星空效果(JS面向对象)

    概述 更多Canvas实例可以看GitHub,不定时更新:https://github.com/xiangshuo1992/canvas-demo 这个Demo主要有以下几点可以讨论: 1.HTML5 ...

  3. JS面向对象一:MVC的面向对象封装

    JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...

  4. 总结一下用面向对象写法调用借口

    总结一下用面向对象写法调用借口 <script src="jquery.min.js"></script> <script src="sto ...

  5. JS面向对象编程(OOP)

    什么是JS面向对象编程(OOP)? 用对象的思想去写代码,就是面向对象编程. 上面这张图就是一个对象,紫色部分就是车的属性,黄色部分就是修改车的方法: 把他们集合到一个构造函数内,就是这样的 func ...

  6. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  7. java实现选项卡定时轮播_原生js面向对象编程-选项卡(自动轮播)

    原生js面向对象编程-选项卡(自动轮播) }#div1 input{color:#fff;width:100px;height:40px;background:darkseagreen;border: ...

  8. js面向对象程序设置——创建对象

    <script type="text/javascript">              //工厂方式         //1.原始方式         /* var ...

  9. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  10. 对js面向对象的理解

    转自:http://www.cnblogs.com/jingwhale/p/4678656.html js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP ...

最新文章

  1. Java使用itext生成Pdf
  2. 给DataGrid添加确定删除的功能
  3. 学习 Java 8 - 函数式接口 Lambda
  4. 为什么枚举类优于纯枚举?
  5. mac下为什么光标按方向键只能一个字一个字地蹦
  6. 4月02日 提取汉字首字母,并大写的类
  7. 邯郸学院计算机科学与技术录取分,邯郸学院录取分数线2021是多少分(附历年录取分数线)...
  8. 为什么在JavaScript中0.1+0.2不等于0.3?
  9. win10忘记密码_win10带有密码压缩包的破解方法
  10. 软考(计算机软件水平考试)程序员介绍
  11. Builder模式和工厂模式的区别
  12. JavaEE:Cookie和Session
  13. VOT数据集自动/手动下载
  14. 网站运行原理及开发流程
  15. 心跳包(HeartBeat)
  16. 关于 RT-Thread 内核调度算法中 __rt_ffs函数为什么要检测 value值是否为0的疑问
  17. Android颜色对应的xml色值
  18. 数据库启动时遇到ORA-03113: 通信通道的文件结尾
  19. DVWA-SQL Injection级别通关详解
  20. 内核通知链(网络子系统为例)

热门文章

  1. jdi屏幕斜纹_如何看待小米6使用有斜纹的jdi屏幕?
  2. mysql生成百万条数据_mysql 快速生成百万条测试数据
  3. dos系统功能调用的屏幕显示字符是( )号调用_linux混杂设备驱动模型分析(字符设备驱动模型使用篇)...
  4. 牛客小白月赛5求阶乘末尾有多少个0
  5. mysql sql model设置_操作mysql model
  6. OpenCV3.0-图像特征检测
  7. 自动驾驶7-3 自动驾驶汽车简介全面总结
  8. java 简易扫雷_JAVA基础课程设计 简易扫雷
  9. Linux中MySQL没有schema_linux服务器安装Mysql后,只能看到information_schema/test这两个库,无法修改密码...
  10. Deep Learning for Joint Channel Estimation and Feedback in Massive MIMO Systems