js中eval,arguments与异常处理的用法-基础知识总结------彭记(017)

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>
时间: 2024-10-20 07:06:27

js中eval,arguments与异常处理的用法-基础知识总结------彭记(017)的相关文章

js中in运算符,forEach与map的用法-基础知识总结------彭记(016)

in运算符: <script> /*1.能够遍历对象的属性*/ var obj = { 'name':'jack', age:20 }; for(var key in obj){ console.log(key + ":" + obj[key]); } /*2.还可以判断 对象 是否可以访问某个属性,而不关注这个属性是否在当前对象中定义*/ console.log('name' in obj); //true console.log('toString' in obj);

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

小程序 js中获取时间new date()的用法(网络复制过来自用)

js中获取时间new date()的用法 获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

简述JS中 appy 和 call 的详细用法

Apply 和 Call 两个老生常言的方法,使用过程的一些细节还是有很大的异同,具体使用情况可以参照下面例子详细回顾一下. 区别和详解:js中call()和apply()的用法 1.关于call()和apply()的疑点: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 2.语法和参数分析: apply和call都能继承另外一个对象的方法和属性:Function.apply(obj,args)方法能

js中eval详解,用Js的eval解析JSON中的注意点

先来说eval的用法,内容比较简单,熟悉的可以跳过eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var s1='"a" + 2'; //表达式var s2='{a:2}'; //语句alert(eval(s1)); //->'a2'alert(eval(s2)); //->und

js中eval()和$.parseJSON()的区别

之前自己一直对ajax不是特别的熟悉,所以一般都很少用这个去写功能,但是最近这个项目中用到了,用ajax异步传数据,json传数据这个时候就需要去解析传过来的数据了,eval()和$.parseJSON()都是可以解析数据的,但是他们也是有区别的: 1:安全性 例: var str = 'alert(1000.toString())'; eval(str); JSON.parse(str); 用eval可以解析,并且会弹出对话框,而用JSON.parse()则解析不了. 其实alert并没有什么

JS中break continue和return的用法?

在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环或者switch语句,在其他地方使用会导致错误 break: 举例: for(var i=1;i<=10;i++) { if(i==6) { break; } document.write(i); } //输出结果:12345 当i=6的时候,直接退出for这个循环.这个循环将不再被执行! cont

Js中获取时间 new date()的用法

获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获

Js中call apply函数以及this用法

this介绍: C#里this关键字的意义比较确定的.JavaScript的this关键字,随着函数使用场合不同,this的值会发生变化,感觉用法比较混乱,所以,现在是有必要整理一下的时刻了! 总结一个原则:在js里面,this指针代表的是执行当前代码的对象的所有者. 1.和c#类似的纯粹函数调用: function test() { this.x = 1; alert(x); } test();//1 其实这里的this就是全局变量.看下面的例子就能很好的理解这里的this就是全局对象Glob