Ⅰ js中当 console.log既不报错,也不实现效果时怎么办
把下面代码保存为陵橡逗html文件,然后IE8---F12---脚本---控制台里就会出现有趣的东西,如果是Firefox,安装了FireBug后,则F12--控件台--所有 ,同样可以看到。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"尺卖 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript的console.log()用法</title>
<script type="text/javascript">
/*
console.log 原先是 Firefox 的“专利”,严格说是安装了 Firebugs 之后的 Firefox 所独有的调试“绝招”。
这一招,IE8 学会了,不过用起来比 Firebugs 麻烦,只有在开启调试窗口(F12)的时候,console.log 才能出结果,不然就报错。
今天看到 Opera 也有个叫 dragonfly 的东东,用这东西查看 DOM,已经可以和 Firebug 媲美,然而还是不能用 console.log。于是有人就提供了这样两句代码:
window.console = window.console || {};
console.log || (console.log = opera.postError);
经测试,以上代码好使。
至此,Firefox/IE/Opera 都能用上 console.log 了。
当然,IE 和 Opera 下的 console.log 比起 Firebugs 原创的 console.log,还是太过简单,比如参数是 Object 或者数组就没有进一步的显示功能。
*/
//变量
var i = 'I am a string';
console.log('变量:',i);
//数组
var arr = [1,2,3,4,5];
console.log('数组:',arr);
//对象
var obj1 = {
key1 : 'value1',
key2 : 'value2',
key3 : 'value3'
};
var obj2 = {
key6 : 'value4',
key5 : 'value5',
key4 : 'value6'
};
var obj3 = {
key9 : 'value7',
key8 : 'value8',
key7 : 'value9'
};
console.log('对象:',obj1);
//对象数组
var objArr1 = [obj1,obj2,obj3];
var objArr2 = [[obj1],[obj2],[obj3]];
console.log('对象数组1:',objArr1);
console.log('对象数组1:',objArr2);
/*
输出:
变量:I am a string
数组:[1, 2, 3, 4, 5]
对象:Object { key1="value1", key2="value2", key3="value3"}
对象数组1:[Object { key1="value1", key2="value2", key3="value3"}, Object {
key6="value4", key5="value5", key4="value6"}, Object { key9="value7",
key8="value8", key7="value9"}]
对象数组1:如埋[[Object { key1="value1", key2="value2", key3="value3"}], [Object {
key6="value4", key5="value5", key4="value6"}], [Object { key9="value7",
key8="value8", key7="value9"}]]
*/
</script>
</head>
<body>
</body>
</html>
附:
Firebug & Chrome Console 控制台的一些其他功能
console.log(object[, object, ...])
使用频率最高的一条语句:向控制台输出一条消息。支持 C 语言 printf 式的格式化输出。当然,也可以不使用格式化输出来达到同样的目的:
var animal='frog', count=10;
console.log("The %s jumped over %d tall buildings", animal, count);
console.log("The", animal, "jumped over", count, "tall buildings");
console.debug(object[, object, ...])
向控制台输出一条信息,它包括一个指向该行代码位置的超链接。
console.info(object[, object, ...])
向控制台输出一条信息,该信息包含一个表示“信息”的图标,和指向该行代码位置的超链接。
console.warn(object[, object, ...])
同 info。区别是图标与样式不同。
console.error(object[, object, ...])
同 info。区别是图标与样式不同。error 实际上和 throw new Error() 产生的效果相同,使用该语句时会向浏览器抛出一个 js 异常。
console.assert(expression[, object, ...])
断言,测试一条表达式是否为真,不为真时将抛出异常(断言失败)。
console.dir(object)
输出一个对象的全部属性(输出结果类似于 DOM 面板中的样式)。
console.dirxml(node)
输出一个 HTML 或者 XML 元素的结构树,点击结构树上面的节点进入到 HTML 面板。
console.trace()
输出 Javascript 执行时的堆栈追踪。
console.group(object[, object, ...])
输出消息的同时打开一个嵌套块,用以缩进输出的内容。调用 console.groupEnd() 用以结束这个块的输出。
console.groupCollapsed()
同 console.group(); 区别在于嵌套块默认是收起的。
console.time(name)
计时器,当调用 console.timeEnd(name);并传递相同的 name 为参数时,计时停止,并输出执行两条语句之间代码所消耗的时间(毫秒)。
console.profile([title])
与 profileEnd() 结合使用,用来做性能测试,与 console 面板上 profile 按钮的功能完全相同。
console.count([title])
输出该行代码被执行的次数,参数 title 将在输出时作为输出结果的前缀使用。
console.clear()
清空控制台
命令行
控制台的输出面板右边,是控制台的输入面板(Chrome 调试工具对应为下方),在这里除了可以运行常规的 javascript 代码,还内置了相当数量的命令行可以辅助我们的调试工作,下面是一些常用命令行的简单介绍。
$(id)
返回一个给定 id 的元素。
$$(selector)
返回给定的 css 选择器匹配到的一组元素。
$x(xpath)
返回给定的 XPath 表达式匹配到的一组元素。
$0
在 HTML 面板中选中的元素。
$1
上一次在 HTML 面板中选中的元素。
$n(index)
访问最近 5 个被选中过的元素,index 的范围: 0 – 4。
dir(object)
同 console.dir(object)。
dirxml(node)
同 console.dirxml(node)。
clear()
同 console.clear()。
inspect(object[, tabName])()
在合适的(或一个指定的) tab 中检视一个对象。
keys(object)
返回一个对象的所有属性的键。
values(object)
返回一个对象的所有属性的值。
debug(fn)
在函数第一行添加一个断点,使用 undebug(fn) 移除断点。
monitor(fn)
开启一个函数的调用日志,使用 unmonitor(fn) 关闭该功能。非常有用的一个命令,但是它似乎并没有很好地工作。
monitorEvents(object[, types])
开启一个元素的某个事件(或所有事件)被触发时的日志记录。用例如下:
monitorEvents($0,['click'])
上面的命令行被执行后,将开启当前在 HTML 面板中被选中元素的 click 事件监控,一旦这个元素的 click 事件被触发,事件对象将会在控制台输出。如果不指定第二个参数,将对所有事件进行记录。
profile([title])
同 console.profile([title])
Ⅱ ie中JS绑定数据,有时候 数据不出现,后面按了F12说调试看看,结果一按F12,页面就又正常了
是这复样的,你的代码中获取数制据那一段应该是有console控制台调用的代码,一般应该是console.log之类的,就是因为这句话在没开F12的时候,console是个undefined的东西就卡在那啦。
一般最方便的解决办法就是把这些console的全部删掉,不过这个对后边维护代码不是很好,所以可以通过做个if判断来写console,或者全局的对console的重定义。
个人比较推荐在console调用前加上if判断,方便稳妥一些(个人感觉啊),修改办法如下:
if判断用的是这个:
if(window.console){
console.log("aaaaaa");
}
Ⅲ js在谷歌会报错,火狐是正常的,是什么原因
在谷歌浏览器中,event.returnValue是不赞成使用的,
Ⅳ JS中console是什么对象,有什么用
JS中默认没有console对象, 这是某些浏览器提供的浏览器内置对象, 低版本IE就没有, 其他主流浏览器应该都有.
主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。
相比alert他的优点是:
他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。
console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。
console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到:
Console {memory: MemoryInfo, debug: function, error: function, info: function, log: function…}
它有网页的各种提示。
类似于alert啊,不过不会打断操作。调试信息用的,不过需要浏览器支持控制台输出。
Ⅳ js在IE中怎样打印出blob
1、通过“window.alert('弹出窗口调试');
”方式进行打印输出;2、通过“console.table(ars);”方式进行打印输出。
Ⅵ 如何输出js里面变量的内容
通过document.write的方式输出js变量。
1、定义js变量
<script>
vara="123";//定义一个js变量a
</script>
2、输出变量a
document.write(a);//把变量a的值123输出到页面中。
补充:
document.write()方法:向网页文档中输出了一段文字或者变量的值
Ⅶ 怎么开启浏览器中的JavaScript功能
1、IE浏览器开启JavaScript方法:
在IE界面菜单栏中“工具”中选择“Internet选项”–“安全”选项卡–选择“Internet”(蓝色的小地球)–“自定义级别”–找到“脚本”下的“Java小程序脚本”中进行启用。如下图所示,设置完成后,重新打开浏览器设置即可生效。
Ⅷ IE浏览器 JS二维数组显示undefined
调用Array构造试一试,然后把元素一步步push进去看看结果,是不是能不能创建这种不规则多维数组。如果不是的话,那么就是ie语法糖有问题,那么JSON.parse解析json文本试一试,如果不行JSON函数内部调用了语法糖实现,那么只能用构造器一步步执行。
如果构造器也不行,那么就是ie内对数组序列号有问题,这就无法从数组层面解决了。但是有一个思路绝对能解决,将数组当成对象处理
var a = {
0: {
0:1,
1:2,
2:3,
length:3
},
1: {
0: 32,
1: 23,
2: {
0: 23,
length:1
},
length:3
},
length:2
}
length可以不要,当然对象没有数组方法的。
不过花怎么多力气去兼容ie干嘛,政府都放弃ie了,还兼容ie干嘛。==(我就是做政府项目的)
Ⅸ .net开发, UEditor文本编辑器,在IE8中出现 ‘console ’未定义 js错误,用的是1.4.2版本的编辑器
IE 一直比较旦猛奇葩。
IE8、9 对 console 的定义跟其他浏览器都不一样,甚至跟IE的其他版本也不一样。
你可以选择注释掉包含 console 的代码,也可以选择加上一段:
window.console=window.console||(function(){
varc={};
基世c.log=c.warn=c.debug=c.info=c.error=c.time=c.dir=c.profile=c.clear=c.exception=c.trace=c.assert搏迟肢=function(){};
returnc;
})();
Ⅹ 如何在网页中调试JavaScript
以IE8浏览器为例,接下来重点介绍并演示如何使用浏览器自带的开专发人员工具调试JS程序。(该属工具快捷按钮为F12)
1、在工具->Internet选项->高级,去掉“禁用脚步调试(Internet Explorer)”项的勾选。
2、去掉“显示友好http错误信息”项的勾选。最后点击应用,确定按钮。
3、预览表单,当要执行的js程序出现错误时,浏览器会给出提示。
4、在给出的错误提示窗口中,选择“是(Y)”按钮,进入IE浏览器自带的开发人员工具脚本调试界面。
5、根据JS调试信息可以知道,当前JS报错是由于没有找到指定对象“dat”而导致的。我们需要在表单设计器中,修改JS程序并保存。因演示效果的需要,在本例中是没有设置id值为dat的单行输入框控件的,本例中第二个单行输入框控件的id值是data2。修改后的JS代码。
6、将其改成值data2后,再进行测试不会出现JS报错信息,程序得以正常执行。
7、本例只是演示了如何利用IE自带的开发人员工具进行简单的调试工作,如需了解其他调试及排查技巧,请参阅网络及相关书籍进行学习。