随笔分类 -  javascript

摘要:填到这道面试题时,初时没有细想,觉得test外面有定义了,觉得就是走else了,但其实错了,在第一个if条件里,还多了个var test = 'inside'; 在其JS解析时,也就相当于如下代码,定义变量会预定义,故走的是第一个条件。 阅读全文
posted @ 2016-10-29 09:47 marunzhou 阅读(161) 评论(0) 推荐(0) 编辑
摘要:事件流主要有冒泡事件、事件捕获及DOM事件流。现浏览器除了IE8及更早版外,基本支持DOM事件流。 冒泡事件由IE提出,而事件捕获则由Netscape提出。但两者却是截然相反的方案。 以DIV点击为例: 冒泡事件是由内到外向document传递。 事件捕获是由外到内,向目标对象传递。 DOM事件流则 阅读全文
posted @ 2016-09-04 16:54 marunzhou 阅读(116) 评论(0) 推荐(0) 编辑
摘要:曾对jQuery中on的实现有所疑问,一直没有找到合适的实现方法,今日看《javascript高级程序设计》中的事件冒泡有了些思路。 针对于新增的DOM元素,JQ中若为其绑定事件就必须使用on方法,如$('#id').on('click','.item',function(){......}),这样 阅读全文
posted @ 2016-09-01 21:08 marunzhou 阅读(1471) 评论(0) 推荐(0) 编辑
摘要:一直对工厂模式、构造函数及原型模式的定义有些模糊,今天抽了些时间学了下工厂模式、构造函数及原型模式的区别及用途,小结一番。 一、工厂模式 作用:工厂模式可以快速创建类似的对象 缺点:创建的对象不具有识别性,故此我们可以使用构造函来解决这个问题 二、构造函数 实例化构造函数相比于普通的工厂模式,其多也 阅读全文
posted @ 2016-08-24 22:08 marunzhou 阅读(125) 评论(0) 推荐(0) 编辑
摘要:另补充一点:构造函数返回值的问题如果一个函数的返回值是引用类型(数组,对象或者函数)的数据,那么这个函数作为构造函数用new运算符执行构造时,运算的结果将被它的返回值取代,这时候,构造函数体内的this值丢失了,取而代之的是被返回的对象; 参考网站:http://www.jb51.net/artic 阅读全文
posted @ 2016-07-01 20:20 marunzhou 阅读(300) 评论(0) 推荐(0) 编辑
摘要:一直以来没有对上下文(context)的定义,总有些模糊,没有认真地总结过,听到这个词,会想到看过的“上下文是函数执行环境”,“上下文是this”,但真的让自己去解释还真说不上来,故趁今日有空总结温故一番,有什么错误的,还望大家提出! 《javascript权威指南》里是第8章函数导读页里有这样介绍 阅读全文
posted @ 2016-03-05 17:00 marunzhou 阅读(10167) 评论(1) 推荐(0) 编辑
摘要:1、多变量赋值 var x =1,y=0; (function (){ var x = y = 2; //相当于 var x = 2; y=2;})() console.log(x,y);//1,2 阅读全文
posted @ 2016-03-04 13:35 marunzhou 阅读(230) 评论(0) 推荐(0) 编辑
摘要:function foo(){ var x = 1; return function() { alert(x); } }; var bar = foo(); bar(); // 1 var x = 2 ; bar(); // 1 今晚看这段代码时,一直理解错误,误以为x会受全局的影响,当foo(), 阅读全文
posted @ 2016-03-04 00:32 marunzhou 阅读(678) 评论(2) 推荐(0) 编辑