JavaScript中eval()、with()和reduce()的用法
来源:互联网 发布:淘宝运动鞋 编辑:程序博客网 时间:2024/06/05 18:46
1、eval()的用法
eval(string)函数可计算某个字符串,并执行其中的JavaScript代码。参数string只能是原始字符串,不能是String对象。
document.write(eval('2+2') + '<br />'); // 4 eval('var a = 2, b = 4; document.write(a * b);'); // 8
2、with()的用法
with的语法结构如下
with (object) { // statements }
用法如下:
var obj = {a: '111', b: '2222', c: '23456'}; with (obj) { with (document) { write(a + '<br />'); // 111 write(b + '<br />'); // 2222 write(c + '<br />'); // 23456 } }
以上代码相当于:
var obj = {a: '111', b: '2222', c: '23456'}; document.write(obj.a + '<br />'); document.write(obj.b + '<br />'); document.write(obj.c + '<br />');
注意:因为js解释器需要检查with块中的变量是否属于with包含的对象,所以with语句会影响js语句的执行速度,且js语句很难被优化,所以在高效代码开发中应尽量避免使用with语句。
3、reduce()的用法
JavaScript中的reduce针对数组从左到右的两个元素依次使用同一个回调函数进行处理,直到把数组的元素都处理一遍。语法如下:
array.reduce(callback[, initialValue]);
3.1、callback,处理数组元素的回掉函数,可以有四个参数,
function(previousValue, currentValue, index, array){}
参数依次是:上一次的值,当前值,当前值的索引,数组
3.2、initialValue,作为回调函数(callback)第一次调用的previousValue(上一次的值)。
用法如下:
// 处理一维数组 var arr = [4, 3, 2, 1]; document.write(arr.reduce((x, y)=>(x + y))); // 10 document.write('<br />'); document.write(arr.reduce((x, y)=>(x + y), 5)); // 15 document.write('<br />'); // 扁平化二维数组 var ar = [[1, 2], [2, 3], [4,6]]; document.write(ar.reduce((x, y)=>x.concat(y)), []); // 1,2,2,3,4,6
0 0
- JavaScript中eval()、with()和reduce()的用法
- JavaScript中eval()、with()和reduce()的用法
- javascript中eval的用法
- javascript中eval用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- Javascript中eval函数的用法
- JavaScript中eval函数的用法
- Javascript中eval函数的用法
- javascript中函数eval()的用法
- javascript中eval用法javascript
- Nis服务器之Master-Slave设置
- 51node 1419 最小公倍数挑战
- go定时器收集,执行一次后每天24点执行程序
- 《纠结学习C++还是Java》之《如何学好Java》
- maven创建项目时在generating project in interactive mode卡住了
- JavaScript中eval()、with()和reduce()的用法
- 关于MediaPlayer
- Exif文件格式描述 Ver1.4
- 希尔排序详解
- Navicat 连接mysql数据库建表操作
- PythonGui->状态栏
- 基于HTML模板和JSON数据的JavaScript交互
- 网络常用端口号大全
- 神奇的G1——Java全新垃圾回收机制