`
TrampEagle
  • 浏览: 23465 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

用javascript写的一个类似堆栈取出几个算式中的运算符号的代码

阅读更多
<script>
function testA(){
var stack = new Array("a","b","c","d","e","f","g","h","i","j","k","l");
var buff = new Array();

function getComb(stack, buff)
{
if(stack.length + buff.length < 5) return; //字母不够了,不用再试
while(stack.length > 0) //字母还没用完
{
buff.push(stack.shift()); //选取字母
if(buff.length < 5) //还没到5个字母
{
getComb(stack.slice(0), buff.slice(0)); //继续选取
}
else if(buff.length == 5)
{
document.write(buff+"<br>"); //够数量了,输出
}
buff.pop(); //丢弃用过的字母
}
return;
}
getComb(stack, buff);
}


function testB(strA){
  var buffer2 = new Array();
  var initCount = 0;
  var str = strA;
  var countPoint = 0;
  if(str.indexOf("+")>0||str.indexOf("-")>0||str.indexOf("*")>0||str.indexOf("/")>0){
    for(var i=0; i<str.length;i++){
      if(str.charAt(i)=='('){
        countPoint = 1;
        buffer1.push("(");
//        alert("222222222222============"+buffer1.length);
      }
      if(str.charAt(i)==')'){
        countPoint = i;
        buffer1.pop("(");
//        alert("222222222222============"+buffer1.length);
      }
      if(countPoint>0&&buffer1.length==0){
//        alert("222222222222============"+buffer1.length);
        countPoint=2;
      }
      if(countPoint==2){
        buffer2.push(str.charAt(i+1));
        countPoint = 0;
      }     
    }
//    buffer2.pop();
    alert("3333333333========="+buffer2.toString());
  }else{
  alert("sdfffdfdsafdas");
  }
}
function testA(){
  var ste = document.all("aa").value;
  alert(ste);
  testB(ste);
}

var buffer1 = new Array();
var ra = 0;
var rb = 0;
var page = 0;
var tmpLength = 0;
var counterNum = 0;
var strddd = "";
function aa(){
  testA();
  if(counterNum==0){
    tmpLength = tmpLength;
    ra = dafd;
    rb = dfd;
    page = dfds;
    strddd = daadfadf+buffer1[counterNum]; 
    counterNum++;
   
   
   
  }
  if(ra == ca&& rb==cb&&page==pb){
    strddd = daadfadf+buffer1[counterNum];
    counterNum++;
  }
 

 
}
</script>
<input type="text" name="aa" value="" />
<input type="button" name="dsd" value="测试堆栈" onclick="testA()">
分享到:
评论

相关推荐

    一个类似管道的函数,用于垂直化JavaScript代码.zip

    这可能涉及到对AST(抽象语法树)的操作,使用诸如Esprima之类的库解析代码,然后通过改变AST结构,最后再用Escodegen或其他类似的库生成新的代码字符串。 总之,这个压缩包提供的工具或示例可能是为了帮助开发者更...

    用javascript实现的计算器代码

    在本文中,我们将深入探讨如何使用JavaScript来实现一个基本的网页计算器。JavaScript是一种广泛用于创建交互式网页的脚本语言,它可以与HTML和CSS紧密结合,为用户带来动态体验。在这个项目中,我们专注于构建一个...

    【JavaScript源代码】详解JavaScript中的执行上下文及调用堆栈.docx

    在代码执行过程中,每当进入一个新的函数调用,都会创建一个新的执行上下文并压入栈顶。随着函数的返回,对应的执行上下文会被弹出栈,从而保证了代码的执行顺序。 以下是一个简单的例子来解释执行上下文栈的工作...

    迷宫源代码 图形化显示堆栈变化 记录堆栈的变化

    本文将深入探讨如何通过源代码实现一个图形化显示堆栈变化的迷宫程序,并结合文字解释这一过程,以便更好地理解堆栈的工作原理及其在解决实际问题中的应用。 首先,我们要知道“迷宫”问题的核心是寻找从起点到终点...

    JavaScript实战 源代码

    "3517.zip"则可能是一个包含多个JavaScript项目的压缩包。解压后,你会看到各种实际的JavaScript代码文件,这些文件可能是独立的脚本、HTML页面或者整个Web应用程序。通过这些项目,你可以学习到如何将JavaScript...

    深入理解JavaScript执行上下文、函数堆栈、提升的概念.pdf

    函数堆栈则描述了函数调用时的顺序和结构,而变量提升则是 JavaScript 中的一个特殊机制,它允许变量和函数声明在实际代码执行之前被移动到它们所在作用域的顶部。 执行上下文(Execution Context)可以分为三种...

    使用 JavaScript 编写的堆栈游戏(含源代码).zip

    Stack Game 是一个使用 JavaScript、CSS 和 Canvas 开发的简单项目。这款游戏很有趣。玩家必须通过一个接一个地堆叠瓷砖来建造堆叠塔,以获得积分。用户可以玩这个游戏,直到他/她无法将瓷砖/堆叠物放在建筑塔上。 ...

    CRC16校验-Javascript代码

    根据提供的代码片段,我们可以看到这是一个针对CRC16校验算法的JavaScript实现。下面我们将详细分析这段代码的关键部分及其工作原理。 ##### 1. CRC表初始化 代码中首先定义了两个数组`var_auchCRCHi`和`var_...

    javascript-HTML代码格式化工具

    在网上下载的很多javascript代码或者html代码,大多都是经过压缩过的,很难看懂,但是别怕,因为现在有了“javascript-HTML代码专业格式化工具”--------------------------------赶快了下载吧!

    JavaScript完全自学宝典 源代码

    1.本书1~21章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:UltraEdit12.10a、eclipse-jee-europa Web浏览器:Microsoft Internet Explorer 6.0及以上版本 ...

    JavaScript代码生成器

    "PCHome_download.html"可能是一个下载页面链接,来自PCHome(太平洋电脑网)这样的科技资讯网站,用户可以通过这个页面下载该JavaScript代码生成器。 总的来说,JavaScript代码生成器是提升开发效率的重要工具,它...

    四则运算自动计算结果

    本资源展示了如何使用JavaScript实现四则运算自动计算结果的功能。该功能可以在用户输入数字时自动计算结果,并将结果显示在文本框中。如果用户输入的值为非数字,则清空文本框。 JavaScript事件 在本资源中,我们...

    个人博客html+css+JavaScript完整代码

    在构建一个个人博客时,HTML、CSS和JavaScript是三个核心组成部分。HTML负责网站的基本结构,CSS则用于美化页面样式,而JavaScript则为交互性提供动力。以下是对这些知识点的详细说明: **HTML(HyperText Markup ...

    javascript计算器代码

    JavaScript计算器代码是一个基础的编程项目,它展示了如何使用JavaScript实现一个简单的计算器功能。在这个项目中,我们主要会涉及以下几个JavaScript编程知识点: 1. **DOM操作**:JavaScript与HTML交互的关键在于...

    用javascript写的计算器,封装成对象了(带用例)

    在这个场景中,我们讨论的是一个基于JavaScript实现的计算器,它已经被封装为一个对象,便于调用和使用。以下是这个计算器对象的一些关键知识点和实现细节。 1. **对象创建与属性定义**: - 在JavaScript中,我们...

    Javascript权威指南(第六版中+英文版)+源代码.zip

    JavaScript,作为全球最广泛使用的编程语言之一,是创建交互式网页和动态应用的关键工具。《JavaScript权威指南》第六版是广大开发者深入理解这门语言的重要参考资料。这本书包含了中英文两个版本,以及配套的源代码...

    head first JavaScript源代码

    《Head First JavaScript源代码》是一本深入浅出的JavaScript学习资料,它以独特且易于理解的方式,引导读者掌握JavaScript的核心概念和技术。JavaScript是一种广泛应用于网页和网络应用的脚本语言,它赋予网页动态...

    extractstack提取一个错误的实际堆栈

    `extract-stack`的主要功能是将错误对象的`stack`属性转换为一个数组,每个数组元素代表堆栈中的一个调用帧,包含了文件名、行号和列号等关键信息。这样,开发者可以更容易地遍历、过滤或格式化这些调用帧,以便进行...

    高性能JavaScript代码最佳实践.pdf

    这样也可以避免使用不恰当的全局变量,比如使用一个没有定义的变量“status”,默认情况下将会使用IE DOM中的window.status。 二、尽量缓存变量 在JavaScript中所有的绑定都是后绑定的,这将意味着每次去访问一个...

    JavaScript代码分析技术综述.pdf

    2. JavaScript代码分析技术综述包括代码分析方法、代码分析框架、代码分析工具、代码质量评价和代码重构等几个方面。 3. 代码分析方法包括静态分析、动态分析、符号执行、追踪分析等。 4. 代码分析框架包括AST、CFG...

Global site tag (gtag.js) - Google Analytics