诡异的js】的更多相关文章

[] + {}; 隐式转换后,是0 那 {} + []呢? var a = 42,b; b = ( a++, a);…
最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数…
前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发现比较大小的判断就出了问题: 代码粘出来: // js弱类型导致的诡异现象,11 > 9 false function downtest(id){// 现象是当val取到的元素val值是11的时候,11>9结果是false // 当前点击下一题的是第几题, var val=$("#&qu…
想必经常写js的人必然会经常性的用到prototype这个属性,我写这篇文章倒不是自己对prototype这个属性理解有多深刻,相反是因为自己理解肤浅,想通过写文章来加深理解.废话不多说.下面总结一下prototype的特征吧,也请高手砖头拍轻点. 特征一:“对象”是不可访问prototype属性,只有“类型”才可以访问portotype属性. var x=0; var y='1'; var z=[]; var w={}; var u=function(){} // 以上对象类型中,仅有u是有p…
js方法是这样的: //保存提货券JSON数据到隐藏字段 saveVoucherListInfoToHiddenFiled: function () { //保存绑定商品信息 var voucherLines = $("#tbVouchersBindCommodityList .cClz"); var voucherModels = []; for (var i = 0; i < voucherLines.length; i++) { var $voucher = $(vouch…
formatter:function(params){ //数据单位格式化 ].name; //x轴名称 , l = params.length; i < l; i++) { if(params[i].value){ relVal += '<br/> ' + params[i].seriesName + ' : ' + (params[i].value*100+"%"; } } console.log(params) return relVal; } 这样子的form…
这个错误的调用顶级是jQuery.ready()函数,这个错误的原因是如果你在html元素里面定义ng-app,则在JavaScript里面必须初始化这个ngapp,初始化语句是: var AppName = angular.module('AppName',[]);…
目录 前言 1 不使用开发工具 1.1 自动重启工具 1.2 浏览器自动刷新工具 2 阻塞event loop 3 频繁调用回调函数 4 圣诞树结构的回调(回调的地狱) 5 创建一个大而完整的应用程序 6 缺少日志 7 没有测试 8 不使用静态分析工具 9 没有监视与性能分析 10 使用console.log来debug 前言 随着一些大公司如Walmart,PayPal等开始采用Node.js,在过去的几年里,Node.js有了快速的增长.越来越多的人开始选择Node并发布modules到NP…
原型是JS的一个重要的特征,通过它可以实现类和实例直接的继承关系. 1.原型来来实现数据备份 // 通过原型来来实现数据备份 function p(x){ this.x = x; } p.prototype.backup = function(){ //备份函数.初始化第一个对象时 //进行备份,还原也只能还原第一个 //对象的数据 for(i in this){ p.prototype[i] = this[i]; } } var p1 = new p(1); console.log(p1.x)…
因为项目要表单验证,所以特意去找了jquery.validate这个应该是jquery官方团队出品的表单验证插件. 实际应用时,却在IE8调试时碰到了问题. 从jquery.validate官网下载了压缩包后,用demo中的页面在IE8下并不会报错 而我应用到实际页面中去却会在IE8下报错.如下图: 对比了demo中的页面后,略尴尬的发现,demo中引用的是jquery.validate.js,而我因为要应用到生产环境中,所以下意识的引用了其中的jquery.validate.min.js,也即…