续前节js
封装type
:
1.type([])—array
2.type({})—object
3.type(function)—object
4.type(new Number())—number object
5.type(123)—number
- //数组去重 // //在原型链上编程//
数组去重
:Array.prototype.unique = function (){ 类数组,不是数组,
建立temp类数组的作用是把原数组的值去重然后赋值给新数组arr,相当于一个去重机器
那一行的意思是,把原数组的第i项拿出来,和temp类数组里的第i项比较,如果temp里没有这一项,就新添加一项到类数组,赋值‘abc’只是用来占位的,
利用的是类数组也就是对象的哈希(键值对)特性:同一个键在对象里不能出现两次 }
Function type (
target
){
target分类
:
- 分两类 原始值 引用值
- 区分引用值【概括性对象】
}
原始值不可以有引用值,和属性
包装类
:语法会隐式的执行,就是对一个对象封装【但是不会保存值,会自动销毁】
[全局属性]一旦经历var的操作,所得出的属性,window,这种属性叫做不可配置的属性,不可配置的属性delete不掉。
Try{
//如果有错,不报错,不执行,直接执行外面的//
}catch(e){
捕捉错误
}
在try里面的发生错误,不会执行错误后的try里面的代码
//防止报错,在任何情况下//
Try{}catch(){}
:
Error.name的六种值对应的信息
:
EvalError:eval() | 使用与定义不一致 |
---|---|
RangeError | 数值越界 |
ReferenceError | 非法或不能识别的引用数值 |
SyntaxError | 发生语法解析错误 |
TypeError: | 操作数类型错误 |
URIError:URI | 处理函数使用不当 |