总结关于JS的疑问和调试的一些烦恼,顺便求推荐合适工具 本帖最后由 kk86868058 于 2013-08-23 14:29:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是用火狐浏览器,就用FireBug,可以监视JS事件,请求信息 (function($, window, container){ })//这是个匿名函数,$, window, container 这是函数的形参, (window),是实参清控制台 console.clear() 组件产生的html,添加事件应该在组件API中找,肯定会提供方法;onclick只是一种添加点击事件的方式而已,还有很多另外的方式1.可以直接在控制台执行js代码给指定id的标签添加点击事件2.火狐firebug控制台中可以看到http请求,展开可以看到请求头,响应,不过现在新版本已经将其移到网络中了;chrome也是在网络中监视http请求3.你写的两种写法都有问题,第一种函数内$值为undefined,第二种函数内$为window,不管几个参数,注意不要乱写就都是对的 (function($){ ... })(jQuery) (function($,window){ ... })(jQuery,window);4.刷新页面后控制台输出本来就会清除,有残余自己手动清一下不就行了,控制台输出本来就只是方便调试又不是给用户看的 用作块级作用域(通常称为私有作用域)的匿名函数的语法如下所示:(function(){ //这里是块级作用域})();以上代码定义并立即调用了一个匿名函数。将函数声明包含在一对圆括号中,表示它实际上是一个函数表达式。而紧随其后的一对圆括号会立即调用这个函数。 firebug 还有一个插件 叫“eventbug”https://getfirebug.com/releases/eventbug/1.5/eventbug-0.1b10.xpi 对于console不太友好,而且这浏览器输入地址栏地址就把当前页给跳了,想改掉这个据说要通过插件而且还不知叫什么名字..感觉不好使这浏览器.宁愿用火狐启动慢一点,但后面就快起来了,而且用谷歌查看POST出去的数据时居然不是树状的,不适应这些查看方式,另外它能方便我追踪某个DOM点击后把行的JS回溯吗? 我通过FireBug审查元素,在HTML节点中选择"当属性改变时中断",搞得不太懂它没中断,只是那个DOM的属性值黄了一下,还是继续彺下跑..然后到DOM面板中找到一个DOM在它里面右键-添加监视,但什么也没有,不弹出东西问我监视什么,要做什么事之类.我以为是监视某个属性,但这个属性在我添加监视后无任何变化.我不知道怎么用呢..关于()()这个语法的问题,你说的形参实参我倒开始有点明白了.归根到底其实我觉得是不是它就类似于函数调用xxx();但这时候我们没有函数,要么定义这个函数,要么就用一个 () 形成一个函数值,(1+9) 是一个值,不是一个表达式,它是10,(function(aa){ alert(aa);})是一个匿名函数,要用这个函数做事就要在它后面加一个括号使它运行起来,所以就形成了(function(aa){alert(aa)})(99) 这种书写方式..是吧,那么后面的括号传进去的就是此前JS已经加载的对象了,$,window等..换言之,是否这样也等效呢:function test(value){ alert(value);}(test)(88); 我知道.clear可以清除控制台内容,但不想每次输入语句清它呢,希望页面刷新的时候能变空,让我重新观察测试内容.. chrome浏览器 打开元素控制台 右键某个元素 弹出菜单选择 break ... 里面有元素事件的断点选项 分享代码:简单的创建JavaScript闭包的示例 AJAX 动态写入网页内容的问题 关于 jquery ui dialog 提交表单时的上传文件问题 问问select控件的失效问题 如何去掉窗口的菜单? OneLinkNOP一般做什么用的? 如何让下拉列表选中原先的值? 如何在js中给组合框增加值?请高手指教 如何清除List中的选项? 如何跨窗体操作?? EditorGridPanel查询出来的数据怎么没有按顺序显示:如图 前端页面js用什么架构好
(function($, window, container){
})//这是个匿名函数,$, window, container 这是函数的形参, (window),是实参清控制台 console.clear()
1.可以直接在控制台执行js代码给指定id的标签添加点击事件
2.火狐firebug控制台中可以看到http请求,展开可以看到请求头,响应,不过现在新版本已经将其移到网络中了;chrome也是在网络中监视http请求
3.你写的两种写法都有问题,第一种函数内$值为undefined,第二种函数内$为window,不管几个参数,注意不要乱写就都是对的
(function($){
...
})(jQuery)
(function($,window){
...
})(jQuery,window);
4.刷新页面后控制台输出本来就会清除,有残余自己手动清一下不就行了,控制台输出本来就只是方便调试又不是给用户看的
(function(){
//这里是块级作用域
})();
以上代码定义并立即调用了一个匿名函数。将函数声明包含在一对圆括号中,表示它实际上
是一个函数表达式。而紧随其后的一对圆括号会立即调用这个函数。
https://getfirebug.com/releases/eventbug/1.5/eventbug-0.1b10.xpi
我通过FireBug审查元素,在HTML节点中选择"当属性改变时中断",搞得不太懂它没中断,只是那个DOM的属性值黄了一下,还是继续彺下跑..
然后到DOM面板中找到一个DOM在它里面右键-添加监视,但什么也没有,不弹出东西问我监视什么,要做什么事之类.我以为是监视某个属性,但这个属性在我添加监视后无任何变化.我不知道怎么用呢..
关于()()这个语法的问题,你说的形参实参我倒开始有点明白了.
归根到底其实我觉得是不是它就类似于函数调用
xxx();
但这时候我们没有函数,要么定义这个函数,要么就用一个 () 形成一个函数值,(1+9) 是一个值,不是一个表达式,它是10,
(function(aa){
alert(aa);
})是一个匿名函数,要用这个函数做事就要在它后面加一个括号使它运行起来,所以就形成了
(function(aa){alert(aa)})(99) 这种书写方式..是吧,那么后面的括号传进去的就是此前JS已经加载的对象了,$,window等..
换言之,是否这样也等效呢:function test(value){
alert(value);
}(test)(88);
我知道.clear可以清除控制台内容,但不想每次输入语句清它呢,希望页面刷新的时候能变空,让我重新观察测试内容..
打开元素控制台
右键某个元素 弹出菜单选择 break ... 里面有元素事件的断点选项