Eval方法(执行Javascript字串命令)

eval函数详解与示例
本文介绍了JavaScript中的eval函数,详细解释了其功能与用法,并通过实例展示了如何使用eval函数来执行字符串形式的JavaScript代码。
一).示例图片效果

(二).代码
<html>
<head>
<title>escape()函数的用法</title>
</head>
<body>
<script language="javascript">
function run()
{
//把文本框input1的值转换成一条javascript命令并执行
eval(document.form1.input1.value);
}
</script>
<form name=form1>
输入一条JavaScript语句<br>
<input type="text" name="input1" size=20 value="alert('Hello!');">
<input type=button name=click1 value="run" οnclick="run()">
</form>
</body>
</html>

下面的内容来自 jscript 学习帮助文件

 该函数可以对以字符串形式表示的任意有效的 Jscript代码求值。eval() 函数有一个参数,该参数就是想要求值的代码。下面给出一个使用本函数的示例。

var anExpression = "6 * 9 % 7";
var total = eval(anExpression); // 将变量 total 赋值为 5var yetAnotherExpression = "6 * (9 % 7)";
total = eval(yetAnotherExpression) // 将变量 total 赋值为 12// 将一个字符串赋给 totality (注意嵌套引用)
var totality = eval("’...surrounded by acres of clams.’");

### JavaScript 数据类型转换详解 #### 一、布尔值到字符串的转换 当尝试将 `true` 转换为字符串时,可以通过简单地拼接一个空字符串实现。例如: ```javascript var a = true; console.log(typeof (a + '')); // 结果为 string [^1] ``` 这种技术利用了隐式类型转换机制,在执行加法操作时自动将布尔值转为对应的字符串表示形式。 #### 二、数值类型的转换 对于数值类型的转换,通常可以使用内置函数如 `parseInt()` 和 `parseFloat()` 来完成。这些方法能够解析字符串并提取其中的有效数字部分: ```javascript let numStr = '18.23'; let parsedInt = parseInt(numStr); console.log(parsedInt); // 输出 18 [^2] console.log(typeof parsedInt); // 输出 number [^2] ``` 需要注意的是,如果传入非字符串参数给 `parseInt()` 或 `parseFloat()` 函数,它们会首先把该参数强制转化为字符串后再做进一步处理[^2]。 #### 三、复杂数据结构向基础数据类型的转变 针对数组或者对象这类复杂的JavaScript实体进行类型转换时,遵循特定规则来决定最终的结果形态: - **Array to String**: 当需要将整个数组变成单一字符串时表示时,默认调用其内部定义好的 `.join(',')` 方法。 - **Object to Primitive Value Conversion**: - 首先尝试通过调用实例自身的 `valueOf()` 方法获取原始值; - 如果得到仍然是复合型的数据,则继续寻找是否有可用的 `toString()` 实现路径直至找到可接受的基础类型为止;否则抛出错误提示无法完成此过程[^3]. 下面展示了一些特殊情况下不同类型间相互作用的例子及其背后原理说明: ```javascript console.log([] + []); // "" ——两个空列表相连接形成空白串 console.log({} + {}); // "[object Object][object Object]" ——各自被解释成标准描述符后串联起来 console.log({} + []); // "0" ——这里大括号被视为语句而非表达式的组成部分因此忽略后续计算只留下右边项作为单独存在体求解结果即零长度序列化后的表现形式也就是单纯的一个整数零 [^3] console.log([] + {}); // "[object Object]" ——顺序颠倒过来之后左边成为主动方于是按照常规流程走下来得出结论说到底还是那个熟悉的身影再次现身舞台中央——没错就是它啦![object Object] [^3] ``` 另外还有一种比较少见但是确实存在的做法用于判断某个变量是否能安全无误地转变为合法意义上的阿拉伯数码字串如下所示: ```javascript var strNum = " 234 "; strNum = strNum.replace(/(^\s*)|(\s*$)/g,""); //去掉首尾多余空格 if(strNum !=="" && !isNaN(strNum)){ strNum=eval(strNum); //确认无疑问则直接评估获得确切数值版本 }else{ strNum=null;//反之设定为空指针表明非法输入情形发生 } console.log(strNum); // 正常情况应该打印出234这个纯数字量级的对象个体代表符号体系中的成员之一而已嘛~呵呵哒😊~ [^4] ``` 以上便是关于JavaScript编程语言领域内围绕着各种常见以及不那么常见的场景下涉及到的具体而微的操作指南及相关理论依据阐述等内容汇总整理而成的一份详尽报告文档资料集锦大全合辑版咯😄!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值