tj1*_*111 1 javascript mootools
我正在编写一个快速日志函数来包装本机,console.log以防止以后在开发中出现错误(比如console.log代码中的遗忘语句).我正在使用mootools $defined和$type函数来检查是否存在控制台和console.log函数,然后再调用它.但是当我禁用firebug时,我在firefox中遇到以下错误.
错误:未定义控制台
源文件:http://diagnostic.localhost/js/emp.custom.js
行:6
EMP.log = function() {
if (DEBUG && $defined(console) && $type(console.log) == 'function') { //line 6
var args = Array.prototype.slice.call(arguments); //turn arguments into array
console.log.pass(args);
}
}
Run Code Online (Sandbox Code Playgroud)
似乎使用$defined应该消除这个错误,所以有没有人有任何想法可能是什么问题?
我正在使用mootools v1.2.3.
编辑:我尝试了以下,他们也给了他们同样的错误:
if (DEBUG && $type(console) == "object" && $type(console.log) == 'function') {
if (DEBUG && $chk(console) && $type(console.log) == 'function') {
Run Code Online (Sandbox Code Playgroud)
试试吧$defined(window.console).如果Firefox通过作用域链并且找不到变量,那么它会抛出一个错误,但是如果你明确你正在寻找变量的上下文,它会给你undefined.
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |