1.错误处理:
什么是错误:导致程序停止运行的运行时异常状态; 错误处理:程序出错,保证程序不停止的机制; ECMAScript六种错误类型: EvalError RangeError:num.toFixed(n)n<0 参数错误 ReferenceError:引用错误,找不到对象,只要使用未声明的变量 SyntaxError:语法错误:修改源代码。 TypeError:错误的使用了类型和类型的方法; URIError:URI错误 如何处理: try{ 可能出错的代码} catch(err){ 1.获取错误类型:err.message err.name 2.根据错误类型不同执行不同的处理 } finally{ 无论是否出错都必须执行的代码} 注:能用 if else 就不用 try catch 是处理无法预料的错误的2.throw: 主动抛出异常3.Function 对象:1.以声明方式定义方法:function方法名(参数列表){方法体;return 值; }
2.以创建对象的方法定义方法:var 方法名 =new Function(“ ”,“ ” “,“方法体”,‘return 值’) 区别:声明提前 :var 和function 提前声明 提前到作用域顶端4.重载:一个方法 可以根据参数列表不同 执行不同的任务。 JS不支持方法重载但是可以模拟;5.arguments对象:方法对象中保存所有参数的类数组对象--》自动创建直接使用 arguments.length--》传入参数的个数 arguments[i]-->访问传入的第i个参数6.创建函数:var ha= function (){ }7.匿名函数的2个用途:回调函数 自调函数:匿名函数自己调用自己 (function(){console.log()})()8.全局变量 局部变量 函数作用域 作用域链:关联活动对象和上级对象的对象 先找局部变量 再找局部变量 9.闭包:一个函数引用了不属于自己的局部变量就是闭包 作用:保护局部变量10.ECMAScript属性分类: 数据属性(Data property) 访问器属性(accessor property) 访问器本质是两个函数 读取自动调get访问器属性,赋值自动调用set访问器var circle{ r:10,//数据属性 //访问器属性 get size(){ return Math.PI*this.r*this.r;} set size(value){ this.r=Math.sqrt(value/this.PI)}}
11.属性:对象中可以保存数据的变量 数据属性的特性:value writable enumerable configurable 访问器属性的特性:enumerable configurable set get用 Object.defineProperty()12.JavaScript数据类型: 1.值类型 2.特殊类型 3.引用类型(1)原生对象--ECMA标准(2)宿主对象--浏览器提供对象 兼容性问题--W3c组织定义 (3)自定义对象JavaScript对象属于高级知识