①谈谈JavaScript中的变量、指针和引用
②JavaScript 的基本类型和引用类型
💡 arguments
对象:在函数体内部读取所有参数。
包含了函数运行时的所有参数,arguments[0]
就是第一个参数,arguments[1]
就是第二个参数,以此类推。这个对象只有在函数体内部,才可以使用。
eval
命令接受一个字符串作为参数,并将这个字符串当作语句执行。如果eval
的参数不是字符串,那么会原样返回。eval
的本质是在当前作用域之中,注入代码。【不推荐】delete
命令删除一个数组成员,会形成空位,并且不会影响length
属性。slice
方法可以将“类似数组的对象”变成真正的数组var arr = Array.prototype.slice.call(arrayLike);
call()
把数组的方法放到对象上面。function print(value, index) {
console.log(index + ' : ' + value);
}
**Array.prototype.forEach.call(arrayLike, print);**
Error
构造函数,所有抛出的错误都是这个构造函数的实例。Error
实例对象必须有message
属性,表示出错时的提示信息;还提供name-错误名称,stack-错误堆栈Error实例对象
及其6个派生对象
SyntaxError
ReferenceError
RangeError
TypeError
URIError
eval
EvalError
错误。[不再使用]var err1 = new Error('出错了!');
var err2 = new RangeError('出错了,变量超出有效范围!');
var err3 = new TypeError('出错了,变量类型无效!');
err1.message // "出错了!"
err2.message // "出错了,变量超出有效范围!"
err3.message // "出错了,变量类型无效!"
throw
语句的作用是手动中断程序执行,抛出一个错误。throw
可以抛出任何类型的值。也就是说,它的参数可以是任何值。throw
语句,程序就中止了try...catch
结构,允许对错误进行处理,选择是否往下执行。try...catch
catch
代码块捕获错误之后,程序不会中断,会按照正常流程继续执行下去。try {
throw "出错了";
} catch (e) {
console.log(111);
}
console.log(222);
// 111
// 222
try...catch
结构允许在最后添加一个finally
代码块,表示不管是否出现错误,都必需在最后运行的语句。openFile();
try {
writeFile(Data);
} catch(e) {
handleError(e);
} finally {
closeFile();
}
console.log
方法用于在控制台输出信息。支持以下占位符:%s
字符串 %d
整数 %i
整数 %f
浮点数 %o
对象的链接 %c
CSS 格式字符串console.table
方法可以将其转为表格显示。console.count
方法用于计数,输出它被调用了多少次。console.dir
方法用来对一个对象进行检查(inspect),并以易于阅读和打印的格式显示。dirxml
方法主要用于以目录树的形式,显示 DOM 节点。console.assert
方法主要用于程序运行过程中,进行条件判断,如果不满足条件,就显示一个错误,但不会中断程序执行。console.time(),console.timeEnd()
这两个方法用于计时,可以算出一个操作所花费的准确时间console.group(),console.groupEnd(),console.groupCollapsed()
用于将展示信息分组console.trace()
显示当前执行的代码在堆栈中的调用路径,console.clear()
用于清除当前控制台的所有输出。$_
属性返回上一个表达式的值。$0
- $4
:保存了最近5个在 Elements 面板选中的 DOM 元素,$0
$1
代表倒数第二个$(selector)
返回第一个匹配的元素,等同于document.querySelector()
$$(selector)
返回选中的 DOM 对象,等同于document.querySelectorAll
$x(path)
方法返回一个数组,包含匹配特定 XPath 表达式的所有 DOM 元素。inspect(object)
方法打开相关面板,并选中相应的元素,显示它的细节。getEventListeners(object)
方法返回一个对象,该对象的成员为object
click
或keydown
),每个事件对应一个数组,数组的成员为该事件的回调函数。keys(object)
方法返回一个数组,包含object
的所有键名。values(object)
方法返回一个数组,包含object
的所有键值。monitorEvents(object[, events])
方法监听特定对象上发生的特定事件。unmonitorEvents
方法用于停止监听debugger
语句主要用于除错,作用是设置断点。