eval的使用:
<script> ???/*eval的作用: ???* 1.将字符串当成js代码来执行 ???* 2.可以将json格式的字符串转换为js对象*/ ???/*eval("var age = 30;"); ???console.log(age); ???eval("alert(123)"); ???var va = eval("1+1"); ???console.log(va);*/ ???//({"name":"rose","age":20}); ???//{"name":"rose","age":20} ???var jsonStr = ‘{"name":"rose","age":20}‘; ???/*在系统进行解析的时候,{}首先会被当成代码块的标志来解析,如果不是代码块就会当成字面量的标志来解析*/ ???var obj = eval("("+jsonStr+")"); ???console.log(obj);</script>
arguments的使用:
<script> ???function calculate(){ ???????console.log(arguments); ???????console.log(calculate.arguments); ???????/*==比较值 ???????*arguments是伪数组,而伪数组是对象 ????????*valueOf: 获取地址值进行比较*/ ???????console.log(calculate.arguments === arguments); ???????/*计算传入的数值的值*/ ???????/*arguments:函数内部的成员,在函数内部可以直接使用到这个属性,它是一个伪数组*/ ???????var sum = 0; ???????for (var i = 0; i < arguments.length; i++) { ???????????var num = arguments[i]; ???????????sum += num; ???????} ???????return sum; ???} ???var result = window.calculate(1,2,432,53,456,57,6); ???console.log(result);</script>
异常处理:
<script> ???????function test(callback){ ???????????callback(); ???????} ???????function te(){ ???????????console.log(123); ???????????te(); ???????} ???????/*计算两个数的和*/ ???????function calculate(a,b){ ???????????try{ ???????????????if(typeof a != "number" || typeof b != "number"){ ???????????????????/*拖动抛出异常*/ ???????????????????throw {‘msg‘:‘请输入数值‘}; ???????????????} ???????????????console.log( a + b); ???????????} ???????????catch (e){ ???????????????console.log(e); ???????????} ???????????console.log(‘继续执行其它操作‘); ???????} ???????calculate("A","b"); ???????/*try{尝试执行的代码--有可能会出错} ???????catch{如果有错,就捕获异常}*/ ???????try { ???????????/*死循环并不会报错*/ ???????????/*while(1){ ????????????console.log(1); ????????????}*/ ???????????/*死递归会报错*/ ???????????calculate("a","b"); ???????} ???????catch (e){ ???????????console.log(e); ???????} ???????finally { ???????????/*这里面的代码无论是否有异常都会执行*/ ???????????console.log(‘这句代码无论如何都需要执行‘); ???????} ???</script>
js中eval,arguments与异常处理的用法-基础知识总结------彭记(017)
原文地址:http://www.cnblogs.com/pgm0908/p/7350243.html