昨天在网上看到一个很有意思的js面试题,就跟同事讨论了下,发现刚开始很绕最后豁然开朗,明白过来之后发现还是挺简单的,跟大家分享下! 题目如下:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a); 分析步骤如下: 1、将Function.prototype.call当成整体,call方法是由浏览器实现的本地方法,是函数类型的内部方法 var a = (Function.prototype.call).apply(function(a){return a;}, [0,4,3])...
之前听说火狐的JS引擎支持for each in的语法,例如下述的代码:代码如下:var arr = [10,20,30,40,50];for each(var k in arr)console.log(k); 即可直接遍历出arr数组的内容。由于只有FireFox才支持,所以几乎所有的JS代码都不用这一特征。不过在ActionScript里天生就支持for each的语法,不论Array还是Vector,还是Dictionary,只要是可枚举的对象都可以for in和for each in。之前并没有感觉有太大的差异,为了懒得敲一个each单...
之前看到网易还是新浪还是什么什么网站来着,也是用类似这种东西的,当时对js只是九牛一毛的水平,当场被吓傻了。但这次,我打算亲自分析下,以后在看到就不会迷茫了。 代码如下://调用例子:bradio.namespace("bradio.lang.array"); //下面是百度编译后的源码,变量都是a,b,c,d...之后我会重新写一个规范点的。 //好了,开始分析 bradio.namespace = function () { //创建命名空间 var a = arguments, //["bradio.lang.array"...
代码如下:function Test() { this.name = Test; return function() { return true; } } var test = new Test(); // 这里的 test 是什么? 是一个 Test 对象吗?错!这里 test 是一个函数——Test 中返回的 function() { return true; }。这时,new Test() 等效于 Test(),注意,是等效于,不是等于,如果使用new Test() == Test() 判定两者是否相等,则会返回 false,因为 Javascript 对于 Object 和 Function 的比较...
if(confirm("确定要进行此操作吗?")) { alert("把确定的事件写到这里吧!"); } else { alert("如果取消,就写一个返回事件吧!"); } jQuery.ligerDialog.confirm('确定删除吗?', function (confirm) { if (confirm) f_delete(); });======================================== 【居中弹出消息框】LG.showSuccess("更新成功!当前临时电量将被清...
关于使用jsp:include标签及先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别) jsp:include是先编译一下included.jsp文件,然后再包含(先编译,后包含) @ include是先把文件包含就来,然后统一编译(先包含,后编译) 今天下午想把Jquery集成到项目中,发现怎么样都会出问题。原因就是路径问题。 在集成时,我的思路是写一个公共JSP文件,里面包含一些常用的js文件,当然此处我用的就是Jquery插件了。 但写完发现单独测...
十进制 二进制0.1 0.0001 1001 1001 1001 ...0.2 0.0011 0011 0011 0011 ...0.3 0.0100 1100 1100 1100 ...0.4 0.0110 0110 0110 0110 ...0.5 0.10.6 0.1001 1001 1001 1001 ...所以比如 1.1 ,其程序实际上无法真正的表示 ‘1.1',而只能做到一定程度上的准确,这是无法避免的精度丢失: 1.09999999999999999在JavaScript中问题还要复杂...
setAdminTabs.js代码中添加如下: 代码如下: $("#adminTabs li").mouseover(function(){$(this).addClass("selectedTab")}); 始终不起作用,原因如下: 代码如下: .selectedTab{background-color:White; border-bottom:1px} 定义两个属性,在admin.css的文件中存在,如下: 代码如下: #adminTabs ul li{ float:left; border: #E0E0E0 1px solid; margin-right:10px; padding:5px 10px; line-height:20px; width:80px; text-align...
可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明: 代码如下:$('p').parent()取到的是div2,div3,div4$('p').parent('.a')取到的是div3$('p').parent().parent()取到的是div1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。$('p').parents()取到的是div1,div2,div3,div4$('p').parents('.a')取到的是div3parent(exp)用法:取得一个包含着所有匹配元素的唯一父元素...
前一段事件遇到一个奇怪的问题,jsp页面中写一个onload事件,发现居然不起作用,查看源文件,bady的onload后居然没有方法名??? 百思不得其解, 于是试验 代码如下: window.onload = getState()
1.offsetTop :当前对象到其上级层顶部的距离.不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性. 2.offsetLeft :当前对象到其上级层左边的距离.不能对其进行赋值.设置对象到页面左部的距离请用style.left属性. 3.offsetWidth :当前对象的宽度.与style.width属性的区别在于:如对象的宽度设定值为百分比宽度,则无论页面变大还是变小,style.width都返回此百分比,而offsetWidth则返回在不同页面中对象的宽度值而不...
在公司经常会听到大牛们讨论时说道内存泄露神马的,每每都惊羡不已,最近精力主要用在了Web 开发上,读了一下《JavaScript高级程序设计》(书名很唬人,实际作者写的特别好,由浅入深)了解了一下JavaScript垃圾回收机制,对内存泄露有了一定的认识。 和C#、Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了。JavaScript垃圾回收...
1.倒计定时器:timename=setTimeout("function();",delaytime);2.循环定时器:timename=setInterval("function();",delaytime);第一个参数“function()”是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用“;”隔开即可。比如要弹出两个警告窗口,便可将“function();”换成“alert('第一个警告窗口!');alert('第二个警告窗口!');”;而第二个参数“delaytime”则是间隔的时间,以毫秒为单位,即填写“500...
ie6中, $(a.btn).click(function(){ form.submit(); }) 点击失效; 分析: 微软低版本浏览器会先执行link标签的自身事件也就是href事件,这样就中断了form的submit事件,“return false;”的意思是中断link标签的的自身事件执行。 解决办法:换思路,用jquery直接处理图片、文字等的click $(a.btn).click(function(){ $(form).get(0).submit(); return false;});
反正只要 JavaScript 出错后刷新不复现,那用户就可以通过刷新解决问题,浏览器不会崩溃,当没有发生过好了。这种假设在 Single Page App 流行之前还是成立的。现在的 Single Page App 运行一段时间后状态复杂无比,用户可能进行了若干输入操作才来到这里的,说刷新就刷新啊?之前的操作岂不要完全重做?所以我们还是有必要捕获和分析这些异常信息的,然后我们就可以修改代码避免影响用户体验。捕获异常的方式 我们自己写的 throw ...