Javascript
文章平均质量分 58
bugknightyyp
喜欢开源,喜欢分享,喜欢激情
展开
-
js砸碎笔记
1、有这么个问题:有个按钮使用jquery-1.3.2绑定了click事件,该按钮的父元素上阻止了事件冒泡,然后在document上使用jquery1.10.2也绑定了click事件 。按说我单击那个按钮,不会触发document绑定click事件,但是触发了。后来发现是版本问题,应该是jquery版本事件系统实现不一样导致的。如果用高级的版本( 比如1.4.2)来绑定按钮的click事件就正常呢原创 2013-11-21 15:46:15 · 1165 阅读 · 1 评论 -
类数组(like array)
在浏览器控制台测试如下代码:var test = { length: 0, splice: function() {} }数据的结果不是 {length:0,splice:function},而是个空数组。如果页面全局有jquery,那么:$.fn 输出的也是 [ ],和这个有效果一样。那么当一个对象里 同时具有 length属性且值是number,和splice属性原创 2014-02-21 15:29:50 · 1114 阅读 · 0 评论 -
使用docement.createElement()来测试浏览器是否支持某元素
跨浏览器脚本正在变成一项与特性支持对抗的复杂游戏。我们最熟悉的是使用object detection 或者navigator object来检测是否支持一个特定的js对象或者方法,但是这种技术作用不是很好,尤其是在检测一个对象是否为浏览器识别的html element,如canvas 、。这时候 document.createElement()可以更有效。测试一个element,基本前提是翻译 2014-03-28 14:33:34 · 1312 阅读 · 0 评论 -
在js中怎样捕获css3动画事件
参考: How to Capture CSS3 Animation Events in JavaScript Using jQuery to Detect When CSS3 Animations and Transitions End How do I normalize CSS3 Transition functions across br转载 2014-03-18 14:06:49 · 1455 阅读 · 0 评论 -
定义属性读写访问器的错误
var test = {};Object.defineProperty(test, 'name',{ configurable: true,set: function(value){ this.name = value;},get: function(){ return this.name;}});test.name="test";这个会报栈溢出的错误:Un原创 2014-04-01 15:44:21 · 2370 阅读 · 0 评论 -
Event level 2
写在前面的话: lte IE8的浏览器不支持事件捕获,只支持事件冒泡,是这样来绑定事件:element.attachEvent('onclick',doSomething),注意事件名字有前缀on。 阻止事件冒泡,在lte IE8的浏览器里通过设置window.event.cancelBubble = true;在标准浏览器里通过e.stopPropagation(原创 2013-11-13 17:17:56 · 1079 阅读 · 0 评论 -
js小技巧
禁止拖动鼠标选中内容:var clearselect = window.getSelection ? function(){ window.getSelection().removeAllRanges(); } : function(){ document.selection.empty(); };返回类型的名字:Object.prototype.toString.call( xxx ).re原创 2013-05-10 16:39:41 · 1074 阅读 · 0 评论 -
常见的IE错误
原文:http://www.15yan.com/story/77U1WW5dUDN/转载 2014-08-02 16:21:34 · 1218 阅读 · 0 评论 -
sourcemap
SourceMap 的文件内容是js对象,其个字段是: - version:Source map的版本,目前为3。 - file:转换后的文件名。 - sourceRoot:转换前的文件所在的目录。如果与转换前的文件在同一目录,该项为空。 - sources:转换前的文件。该项是一个数组,表示可能存在多个文件合并。 - names:转换前的所有变量名和属性名。 - map原创 2013-12-05 18:34:14 · 1259 阅读 · 0 评论 -
jquery的getJSON 怎么做jsonp
原文:http://www.byywee.com/page/M0/S748/748988.html 如今做跨域,说不会jsonp都不好意思。 那么getJSON 是可以做jsonp的 getJSON("xx.com?jsoncallback=?",function(){ xx00 }); jq只有在url里发明有 =? 时,才会启动jso转载 2013-06-03 14:27:43 · 1215 阅读 · 0 评论 -
currying in javascript-js柯里化
柯里化是指将一个多参数的函数转化成更少参数的函数,专业解释看维基百科。柯里化实现是通过把参数列表中的某些参数绑定到首先被调用的函数里,这样这些参数就附加到下一次的调用里。这个有个表现柯里化样子的例子: babyAnimals是一个柯里化的方法。它的作用是在函数本身彻底执行完之前,对第一个参数的包装。 ‘koalas’被绑定到babyAnimals上,那么我对多个动物的喜欢翻译 2013-11-13 19:30:31 · 1250 阅读 · 0 评论 -
ECMAScript5 Objects and Properties
ESMA5 各浏览器兼容表看了这两篇关于介绍ECMA5新加的操作Object和属性的API文章,看了这2篇那对这API就了如指掌了。john resig -- ECMAScript 5 Objects and PropertiesIBM developerworks -- 深入探讨 ECMAScript 规范第五版了解到关于Object.create()的几种实现方原创 2013-11-26 18:24:18 · 1098 阅读 · 0 评论 -
ECMA5-规则变化
1、ECMAScript-262第5版,引入所谓的严格模式(strict mode)。开启严格模式的实现会禁用语言中的那些不稳定、不可靠和不安全的特性。据说出于安全方面的考虑,arguments.callee属性将在严格模式下被“封杀”。因此,在处于严格模式时,访问arguments.callee会导致TypeError(参见ECMA-262第5版的10.6节)。原创 2013-07-30 11:24:00 · 2024 阅读 · 0 评论 -
写js良好习惯
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上! 1、使用命名空间,避免变量冲突,尽量避免使用全局变量,当然可以使用函数来隔离变量作用作用域。下面是读别人博客学到的一种方法: var foospace={}; foospace.derp=function() { aler原创 2012-07-19 01:38:45 · 812 阅读 · 0 评论 -
js-this指针理解
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上! 1、var derp=”one”; var Herp=function() { this.derp=”two”; } var foo=Herp(); alert(derp); 结果会输出“two原创 2012-07-19 02:05:57 · 1006 阅读 · 0 评论 -
setTimeout和setInterval原理
setTimeout触发的方式不是用中断的方式,也就是setTimeout并不是我们所想象的那样是真正定时触发程序的,和真实值相比是有延时的,setTimeout的js内部原理: js内部自身维护一个数组,我们就命名为eventArray吧,当执行到setTimeout语句时,js就将setTimeout的回调函数推入eventArray同时记录了当前的时间戳和定时时间(转载 2013-02-18 17:54:19 · 1162 阅读 · 0 评论 -
event机制
事件冒泡(事件传播)机制:某节点触发事件,那么该事件会递归父节点,溯流而上直至根节点,如果所经结点有绑定相同事件的监听器,则也会触发。所有浏览器默认事件冒泡。事件捕获机制:与冒泡线路一样,方向相反,即从根节点到某结点。如果所经结点有绑定相同事件的监听器,则也会触发。ie、opera浏览器不支持之间捕获,标准浏览器(firefox,chrome,safar)支持 由addEventL原创 2013-07-30 10:52:56 · 1355 阅读 · 0 评论 -
时间对象使用心得
构造器 new Date(); 功能:返回一个时间对象; 参数形式: 1、new Date("month dd,yyyy hh:mm:ss");如:new Date("January 12,2006 22:19:35"); 2、new Date("mont原创 2012-08-10 19:34:13 · 1066 阅读 · 0 评论 -
mousedown和blur配合使用时,ie6/7/8的bug
mousedown事件在有输入框获得焦点的情况下,它的默认动作会触发输入框的失去焦点事件。 如果你清除默认动作,那么输入框就不会失去焦点。但是ie6/78/即使清除默认动作,输入框也会失去焦点这是我写的测试demo:http://bugknightyyp.github.io/test-case/focus-mousedown-diff-ie678-betwen-modern-browser.h原创 2013-09-17 16:24:12 · 1484 阅读 · 0 评论 -
js-性能优化
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上!1、函数节流技术的主要思路是,通过一个定时器,阻断连续重复的函数调用。当然每个解决方案不是全能,有其局限性: 实用条件:1、短时间内连续多次触发;2、大量的DOM操作;(DOM操作对cpu和内存的开销比较大)例如一个 mousemove 或者 IE 中 resize原创 2012-07-19 09:48:35 · 694 阅读 · 0 评论 -
js注意点
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上! 1、JavaScript的变量范围;js的变量范围不像c语言 变量的作用范围是{}语句界定符,JavaSript的变量范围是以函数为基础的. var herp = "one"; { var herp = "two";}原创 2012-07-19 01:51:45 · 731 阅读 · 0 评论 -
js小知识点
高级知识点:~、由于匿名函数没有名称,不会引入新的变量污染上下文环境,而且会带来新的变量作用域,因此匿名函数常被用来防止全局环境污染。~、如果函数作为参数或返回值使用时,就称为高阶函数,JavaScript中的函数都可以作为高阶函数来使用,这也是第一类函数的特征。~、用一个常用的类比来解释闭包和类(Class)的关系:类是带函数的数据,闭包是带数据的函数。~、instanceo原创 2012-08-04 01:58:37 · 1267 阅读 · 0 评论 -
hasOwnProperty,Object.keys(),propertyIsEnumerable,for-in(loop)
功能及用法:hasOwnProperty():用来检查私有属性。若是私有属性,则返回true,否则返回false,(例如:原型对象中的属性属于继承属性,所以返回的是false)。例如:function Fn(){ this.name="test";}Fn.prototype.age=123;var temp = new Fn();temp.hasOwnProperty原创 2013-06-23 22:43:17 · 1744 阅读 · 0 评论 -
js-作用域及作用域链
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上!1、var temp = (function(){ var name ="test"; return function(){ alert(name); }})(); 以上代码片断是我们jser经常见到的写法,是传说中的闭包。 众所周知:调原创 2012-08-01 10:06:13 · 3048 阅读 · 4 评论