`
zccst
  • 浏览: 3325687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js-基础知识-eval

 
阅读更多
作者:zccst

2014-10-23

eval()
如果传入的参数不是字符串,则直接返回这个参数。
如果是字符串,他会把字符串当js代码进行编译,如果编译失败,则抛出错误,如果成功,则开始执行这段代码,并返回字符串中最后一个表达式或语句的值,如果没值,则返回undefined。
如果字符串抛出异常,这个异常将把该调用传递给eval()


//eval的作用域
//eval使用了调用它的变量作用域环境。

1,如果一个函数定义了一个局部变量,然后调用eval("x"),它会返回局部变量的值。当然它会改变局部变量的值,增加新的局部变量等。

2,如果在全局调用,则改变全局变量的值。
var geval = eval;
var x = "global", y = "global";
function f(){
    var x = "local";
    eval("x += 'changed';");
    return x;
}

function g(){
    var y = "local";
    geval("y += 'changed';");//是一个全局函数,虽然在g()内执行。所以y是全局的y
    return y;
}

console.log(f(), x);//localchanged local
console.log(g(), y);//local globalchanged


缺点:如果在eval起了别名,则优化是个问题。









1,实时求和

var idNumStr = $("#final_failPart_ids").val();
var idNumArr = idNumStr.split(';');
var param = "";
for(var i = 0; i < idNumArr.length; i++){
    var subArr = idNumArr[i].split(',');
    var id  = subArr[0];
    var num = subArr[1];
 
    var ok  = $("#ok_num_"+id).val();
    var bad = $("#bad_num_"+id).val();
    var more = $("#more_"+id).val();
                             
    var tmpNum = eval(ok) + eval(bad);
    alert("ok="+ok+" bad="+bad+" num="+num+" tmpNum="+tmpNum+" more="+more);
                             
     if(num == tmpNum){
              param += id + ',' + ok + ',' + bad + ',' + more + ";";
      }else{
              alert("您填写的配件数量与报修时的数量不一致!");
              return false;
      }
}
分享到:
评论

相关推荐

    JavaScript编程 基础知识

    ### JavaScript编程基础知识详解 #### 一、JavaScript代码的放置与引入方式 1. **JavaScript代码应置于`&lt;script&gt;&lt;/script&gt;`标签内** - JavaScript 代码通常被包含在 HTML 文件中的 `&lt;script&gt;` 标签之间。 - 示例...

    javascript基础知识.docx

    总结来说,JavaScript基础知识涵盖了数据类型、运算符、流程控制、函数以及与HTML的交互等方面,这些都是进行前端开发时不可或缺的知识点。理解并熟练运用这些概念,可以帮助开发者创建出丰富且互动性强的网页应用。

    Node.js - How To Code in Node.js

    REPL(Read-Eval-Print Loop)是一种交互式的命令行工具,允许用户直接输入 JavaScript 代码并立即查看执行结果。这对于测试小段代码或调试非常有用。本章将教授如何启动 REPL 环境并在其中执行各种操作。 #### 五...

    JavaScript-计算器

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责实现客户端的交互功能。...对于初学者来说,这是一个很好的实践项目,可以帮助他们深入理解这些基础知识并提高实际开发能力。

    javascript经典特效---javascript代码自动生成.rar

    3. **元编程**:JavaScript支持元编程,通过运行时修改自身代码来生成新的代码,例如使用eval()函数或Function构造函数。 4. **AST(抽象语法树)**:编译器和解释器处理代码时会生成AST,开发者可以利用AST库(如...

    Javascript-projects:Javascript基础项目

    3. **JavaScript基础知识**: - **变量与数据类型**:JavaScript有七种数据类型,包括基本类型(Undefined、Null、Boolean、Number、BigInt、String、Symbol)和引用类型(Object)。 - **控制结构**:包括条件...

    PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip

    【标题解析】 "PHP实例开发源码—JavaScript Eval 在线...通过以上知识点的学习和实践,可以有效地理解和实现"PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip"项目,同时提升在PHP Web开发领域的技能。

    JS-Beginning-Projects

    这里会用到JavaScript的数据类型(如字符串和数字)、变量、条件语句(if...else)以及循环等基础知识。对于计算,可以使用字符串拼接来构建表达式,然后用`eval()`函数进行求值,但需要注意`eval()`的安全问题,...

    Node.js学习笔记.md

    Node.js学习笔记的知识点总结如下: 1. Node.js概念 - Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得...这些内容对于初学者来说是非常重要的基础知识,有助于他们构建基础的Node.js应用和服务器。

    node-handbook

    - **REPL(Read-Eval-Print Loop)**:介绍如何使用 Node.js 的交互式解释器。 - **命令行参数**:讲解如何从命令行向 Node.js 程序传递参数。 - **命令行输入输出**:展示如何实现命令行的输入输出功能。 #### 四...

    AJAX 载入JS文件,载入CSS文件,载入JS函数,执行JS

    #### 二、基础知识 在开始之前,我们需要了解几个基础概念: - **AJAX**:异步JavaScript和XML技术,允许浏览器与服务器之间进行异步通信。 - **ASP**:一种服务器端脚本环境,可以用来创建和运行动态的交互式Web...

    JavaScript的基本知识

    JavaScript是一种广泛应用于网页...通过这些基础知识,你可以开始构建动态的、交互性强的网页和应用程序。随着学习的深入,还可以探索更高级的主题,如面向对象编程、闭包、异步操作等,进一步提升JavaScript编程能力。

    藏经阁-现代Javascript高级教程-223.pdf

    本书主要讲解了JavaScript高级教程的知识点,旨在帮助具备一定JavaScript基础的开发者更深入地理解和掌握这门语言的高级特性和技术。下面是本书中涉及到的知识点: 1. 作用域和作用域链:本书首先介绍了JavaScript...

    javascript/js超强计算器

    总的来说,这个"JavaScript/js超强计算器"项目涵盖了JavaScript基础、DOM操作、事件处理、数学计算和可能的第三方库应用等多个方面的知识点。开发者通过这个项目不仅能够提升JavaScript编程技能,也能深入了解前端...

Global site tag (gtag.js) - Google Analytics