在控制台中,除了使用console对象,还可以使用一些控制台自带的命令行方法。
$_
$_属性返回上一个表达式的值。例如:
2 + 2 // 4 $_ // 4
$0 - $4
控制台保存了最近5个在Elements面板选中的DOM元素,$0代表倒数第一个,$1代表倒数第二个,以此类推直到$4。
$(selector)
$(selector)返回第一个匹配的元素,等同于document.querySelector()。注意,如果页面脚本对$有定义,则会覆盖原始的定义。比如,页面里面有 jQuery,控制台执行$(selector)就会采用 jQuery 的实现,返回一个数组。
$(selector)
$$(selector)返回一个选中的DOM对象,等同于document.querySelectorAll。
$x(path)
$x(path)方法返回一个数组,包含匹配特定XPath表达式的所有DOM元素。
$x("//p[a]")
上面代码返回所有包含a元素的p元素。
inspect(object)
inspect(object)方法打开相关面板,并选中相应的元素:DOM元素在Elements面板中显示,JavaScript对象在Profiles面板中显示。
getEventListeners(object)
getEventListeners(object)方法返回一个对象,该对象的成员为登记了回调函数的各种事件(比如click或keydown),每个事件对应一个数组,数组的成员为该事件的回调函数。
keys(object),values(object)
keys(object)方法返回一个数组,包含特定对象的所有键名。
values(object)方法返回一个数组,包含特定对象的所有键值。例如:
var o = {'p1': 'a', 'p2': 'b'}; keys(o) // ["p1", "p2"] values(o) // ["a", "b"]
monitorEvents(object[, events])、unmonitorEvents(object[, events])
monitorEvents(object[, events])方法监听特定对象上发生的特定事件。当这种情况发生时,会返回一个Event对象,包含该事件的相关信息。unmonitorEvents方法用于停止监听。
monitorEvents(window, "resize"); monitorEvents(window, ["resize", "scroll"])
上面代码分别表示单个事件和多个事件的监听方法。
monitorEvents($0, 'mouse'); unmonitorEvents($0, 'mousemove');
上面代码表示如何停止监听。
monitorEvents允许监听同一大类的事件。所有事件可以分成四个大类。例如:
mouse:”mousedown”, “mouseup”, “click”, “dblclick”, “mousemove”, “mouseover”, “mouseout”, “mousewheel” key:”keydown”, “keyup”, “keypress”, “textInput” touch:”touchstart”, “touchmove”, “touchend”, “touchcancel” control:”resize”, “scroll”, “zoom”, “focus”, “blur”, “select”, “change”, “submit”, “reset” monitorEvents($("#msg"), "key");
上面代码表示监听所有key大类的事件。
profile([name])、profileEnd()
profile方法用于启动一个特定名称的CPU性能测试,profileEnd方法用于结束该性能测试。
profile('My profile') profileEnd('My profile')
其他方法
命令行API还提供以下方法。
- clear():清除控制台的历史。
- copy(object):复制特定DOM元素到剪贴板。
- dir(object):显示特定对象的所有属性,是console.dir方法的别名。
- dirxml(object):显示特定对象的XML形式,是console.dirxml方法的别名。