一、Error错误对象
1、浏览器自带4种错误类型:
SyntaxError:语法错误
ReferenceEroor:引用错误
TypeEroor:类型错误
RangeEroor:范围错误
console.log(2;)
console.log(a)
var arr=[0,1,2,3]
arr.replace()
console.log(214.324.toFixed(101))
2、自定义错误:
throw new Error("自定义错误文字")
如果自定义了这错误,只要代码执行到这里,后续的代码都会卡主
3、错误处理:
try{可能出错的代码段}catch(err){报错了想要执行的代码}
这种方法会降低程序的性能,可以用分支结构代替
try{
var zl=round(money,2)-round(zj,2);
console.log(zj)
console.log("你的找零为:"+round(zl,2))
}catch(err){
console.log(err)
}
二、函数的自调、回调、重载
1、函数的创建方式:
声明方式:function 函数名(形参){函数体 return 结果;}
直接量方式:var 函数名=function(形参){函数体 return 结果;}
构造函数方式:var 函数名=new Function("形参1","形参2",“函数体”)
2、作用域(sscope):
全局作用域--JS中任何地方都可以使用
函数作用域--只能在函数调用时内部能用
变量的使用规则:优先使用自己的,没有再逐级找上去
3、声明提前(hoist):
在程序执行之前,会将声明的变量和声明的函数提前到当前作用域的顶部集中创建
详见https://blog.csdn.net/wd38693409/article/details/119773369?spm=1001.2014.3001.5501
4、按值传递:两个变量之间可以进行赋值
详见https://blog.csdn.net/wd38693409/article/details/119773369?spm=1001.2014.3001.5501
5、重载(overload):相同的函数名,根据传入的实参不同,自动选择对应的函数调用执行
函数内部使用arguments对象,只能在函数内部使用,他类似数组,有length方法,有长度
可以变相实现重载
6、匿名函数:没有名字的函数,只能使用一次就会被自动释放
匿名函数的自调:(function(){代码段})();这个方法可以将我们全局的js代码都放在里面,自动清空没用的内存;
匿名函数的回调:将一个匿名函数作为实参,传递给其它函数调用;例如:arr.sort(function(a,b){return a-b}); str.replace(reg,function(){})
匿名函数没有自调,就必然是回调,