JavaScript-入门第三周学习笔记3

一、Error对象 - 错误

        1、浏览器自带4种错误类型:可以快速找到自己的错误
            ① 语法错误:SyntaxError - 多半都是你的语法符号写错了
            ② 引用错误:ReferenceError - 没有创建就直接使用了
            ③ 类型错误:TypeError - 不是你的方法,你却去使用了
            ④ 范围错误:RangeError - 只有一个API会碰到:num.toFixed(d);//d取值范围的:0~100之间

        2、只要发生错误,就会报错,会导致后续代码终止
              错误处理:就算发生错误不希望报错,而是给一个错误的提示,后续代码可以继续执行。

语法:
    try{
        只放入你可能出错的代码
    }catch(err){
        发生错误后才会执行
        console.log(err);//err就是我们的错误提示,英文
        console.log("中文错误提示");
    }

    try...catch...的性能非常差,几乎里面的代码效率会被降到最低
    *可以用一个技术代替:if...else...
    *开发经验:记住一切的客户端输入/用户输入都是坏人 - 你不必担心,只要你做好防护就不会出现错误(!isNaN,比较运算,正则)

        3、抛出自定义错误
            throw new Error("自定义错误信息") - 只要是报错都会卡主后续代码

二、Function对象

        1、创建:3种
               ① 声明:function 函数名(形参,...){函数体;return 返回值;}
               ② 直接量:var 函数名=function(形参,...){函数体;return 返回值;}
               ③构造函数:var 函数名=new Function("形参1","形参2",...,"函数体;return 返回值;");
 

//以下案例,我们让用户来参与到底是顺序还是降序排列
            var arr=[321,5,43,65,8,213,43,765,12];
            var user=prompt("排序数组,如果您输入a-b则为升序排列,如果您输入b-a则为降序排列");//"a-b" "b-a"
            var compare=new Function("a","b","return "+user);
            arr.sort(compare);
            console.log(arr);

        2、考点:
                ① 创建
                ② 作用域:变量的使用规则:优先使用局部的,局部没有找全局,全局没有就报错
                ③ 声明提前:
                ④ 按值传递:
                ⑤ 重载:相同的函数名,传入不同的实参,可以自动选择对应的函数执行操作
              问题:js的语法不支持重载,js不允许多个同名函数同时存在,如果同时存在,最后的会覆盖之前的所有
              解决:在【函数中】有一个对象 - arguments对象
                arguments:只能在函数中使用,自动创建,是一个类数组对象(类似数组)
                                       作用:可以接收所有传入的实参
                argument对象是一个类数组对象:
                只有3个点和数组相同:
                   (1)使用下标
                   (2)使用length
                   (3)遍历

               arguments可以做的事:
                (1)实现重载:通过在函数内部判断arguments,执行不同的操作
                (2)以后有没有形参都无所谓
                (3)正式开发中,有可能会将多个函数整合为一个函数 - 代码优化

                ⑥ 匿名函数:没有名字的函数
                   (1)匿名函数自调:
                为什么:节约内存,因为匿名函数,没有变量引用着,用完,就会立刻释放变量
                

(function(){
                    //以后可以代替全局代码写法,尽量不要再外部再去书写JS(不用担心事件会被释放掉)
                })();

                    (2)匿名函数回调:将函数作为实参,传递给其他函数调用
                                a、学习回调的目的:让你们知道哪些叫做回调:只要不是自调,就是回调
                  

arr.sort(function(){})
str.replace(reg,function(){})
btn.onclick=function(){}

                                b、以后ES6技术:箭头函数:简化一切的回调函数

                                c、了解一下回调函数的原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值