标签:eval value 死循环 type ros 递归 strong 总结 result
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)
标签:eval value 死循环 type ros 递归 strong 总结 result
原文地址:http://www.cnblogs.com/pgm0908/p/7350243.html