深入浅出JavaScript
文章平均质量分 76
深入浅出JavaScript,从基础到实践,连同JavaScript设计模式,光说不练假把式,实践才能出真知
低调de草原狼
低调de草原狼
展开
-
js - 关于部分浏览器内置函数console详解(用开发调试的利器)
Firebug是网页开发的利器,能够极大地提升工作效率。但是,它不太容易上手。我曾经翻译过一篇《Firebug入门指南》,介绍了一些基本用法。今天,继续介绍它的高级用法。===================================Firebug控制台详解作者:阮一峰出处:http://www.ruanyifeng.com/blog/2011/03/firebug_转载 2014-01-16 10:24:13 · 1530 阅读 · 0 评论 -
javascript学习(11)——[设计模式]工厂模式
其实学过java的人基本都知道,工厂模式,我们是基本每天都在用,只不过工厂模式也分为几种情况:简单工厂,抽象工厂和智能工厂。简单工厂其实,大家时时刻刻都在用,个人理解,当我们在一个函数中调用另一个函数的时候,我们可以简单理解为是一种简单工厂的应用,当然工厂模式的定义并非如此,我们看到很多书中,对工厂模式的定义是要都是大概这么一种方向,就是工厂模式必须产生对象,或者是以产生对象为目的。原创 2014-01-05 16:06:30 · 1282 阅读 · 0 评论 -
关于javascript在子页面中函数无法调试问题的解决
近期在做一个项目,会遇到在子页面中提交的时候会无法能够调试javascript代码的情况出现,有时候这种问题,我们无法正常在浏览器,看到我们子页面的javascript代码,所以只能够用原始的alert 或者 console.log(),当然,这也是一种解决方法,但是有时候,我们就想看一下程序到底是如何运行的,同时也可以看每个参数到底是什么值,所以意义还是比较大的。原创 2014-01-03 17:38:16 · 1281 阅读 · 0 评论 -
javascript闭包
各种专业文献上的“闭包”(closure)定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。原创 2014-01-01 22:59:47 · 1238 阅读 · 3 评论 -
javascript内部原理篇[javascript实现聚合]
javascript不仅仅能够实现继承,有时候我们仅仅是需要类中的一部分属性或者方法的时候,我们可以考虑聚合来实现直接上例子,这里仅仅是提供一个思路,例子感觉并不能够说的特别详尽,针对聚合的更深理解,大家可以百度一下,也可以在评论中我们一起讨论原创 2014-01-01 15:55:18 · 2094 阅读 · 0 评论 -
javascript内部原理篇[javascript实现继承]
javascript的面向对象并非新鲜事务,现在简单模拟OOP实现继承原创 2014-01-01 15:28:06 · 1337 阅读 · 0 评论 -
javascript内部原理篇[__proto__和prototype]
javascript的__proto__(注意前后都是两条下划线)和prototype都可以访问对象的原型对象,那么他们之间有什么不同吗?是的,__proto__是只能用 对象. 来访问,而prototype则只能是 类. 来访问原创 2014-01-01 14:45:11 · 1084 阅读 · 0 评论 -
javascript内部原理篇[进入上下文之前javascript所做的工作]
当进入执行上下文(代码执行之前)时,变量对象里已经包含了下列属性:函数的所有形参(如果我们是在函数执行上下文中)所有函数声明(FunctionDeclaration, FD)所有变量声明(var, VariableDeclaration)原创 2013-12-31 15:47:43 · 1067 阅读 · 0 评论 -
js插件-Map插件
自己封装的jsMap插件,虽然很小,但是基本实现了功能。/** * Map */(function(){ function jMap(){ //私有变量 var arr = {}; //增加 this.put = function(key,value){ arr[key] = value; } //查询 this.get = function(key)原创 2013-12-23 23:18:20 · 2162 阅读 · 0 评论 -
javascript学习(10)——[知识储备]链式调用
上次我们简单的说了下单例的用法,这个也是在我们java中比较常见的设计模式。今天简单说下链式调用,可能有很多人并没有听过链式调用,但是其实只要我简单的说下的话,你肯定基本上都在用,大家熟知的jQuery中我们通常都是调用完一个函数后,我们直接就继续调用其他函数,而不需要再去new一个新的对象。这就是典型的链式调用。首先我们列举个例子,说明下并非链式调用,给我们带来的不方便的地方:/**原创 2013-11-18 22:19:29 · 1945 阅读 · 0 评论 -
javascript学习(9)——[设计模式]单例
单例模式,相信大家对此都不陌生,我们主要讲下javascript中几个比较常见的设计模式:(1).普通的单体(2).具有局部变量的强大单体(3).惰性单体(4).分支单体下面我们就一一进行介绍:(1)普通的单体/** * 单例模式在JS中使用非常的频繁 * 通过确保单例对象只存在一个实例, * 你就可以确信自己在所有的代码中使用的是全局资源 */(func原创 2013-11-17 21:15:17 · 1239 阅读 · 1 评论 -
javascript学习(8)——[知识储备]封装
既然说到javascript的面向对象编程,那么我们也该说一下javascript中封装的实现。javascript中封装的实现也有以下几种实现方式:(1)门户大开类型(2)用命名规范区别私有和共有的方式(3)闭包下面,我们就一一展开介绍:(1)门户大开类型/** * 信息的隐藏是最终的目的,封装只不过是隐藏的一种方法 */(function() { /**原创 2013-11-17 20:30:51 · 1043 阅读 · 0 评论 -
javascript学习(7)——[知识储备]接口
在正式学习设计模式之前,我们先坐下基本的知识储备,可能大多数java程序员和我一样,在没有深入学习js之前,也没有怎么听说过js竟然也有接口这么一说,其实是这样的,js的接口和js中的继承一样,由于js并不是严格的面向对象语言,所以也就只能是模仿面向对象语言来实现类似于面向对象语言中的接口。在js中主要有三种实现接口的方式,分别是:(1)注解的方法(2)属性检验法(3)鸭式变形原创 2013-11-16 21:47:24 · 953 阅读 · 0 评论 -
javascript学习(6)——[基础回顾]继承/聚合
本次博客主要说下继承和聚合在javascript中的应用:继承在前边的第五篇中也有所涉及,其实也挺简单的,下面粘一段代码:/** * 继承 */(function(){ //创建一个人员类 function Person(name){ this.name = name; } //创建教师类 function Teacher(name,books){ //call原创 2013-11-16 16:42:49 · 912 阅读 · 0 评论 -
javascript学习(5)——[基础回顾]类_2_类的原型模式
javascript类的原型模式,我想在这里简单的说一下,javascript本身不像java一样有着严格的继承,我们说javascript的继承,也是我们仿面向对象语言仿出来的,所以javascript虽然支持面向对象的编程,但是我们并不认为javascript是一种很好的面向对象的编程语言。那么javascript的面向对象是如何实现的呢?首先先简单说下prototype是每个类可以直原创 2013-11-16 16:15:36 · 1334 阅读 · 0 评论 -
javascript学习(4)——[基础回顾]类_1
还是以前的一贯风格,对于这种比较简单的就直接粘代码,同时大家也可以在线留言交流,我会及时回复的,当然,代码中的注释也是非常清楚的,相信大家也能看的非常明白,作为一个苦逼的程序员,还有比看代码更爽的事情吗,哈哈~(function(){ //在javascript中我们利用function来定义类 function Shape(){ var x = 1; var y = 2 }原创 2013-11-16 15:07:20 · 1222 阅读 · 0 评论 -
javascript学习(3)——[基础回顾]函数
简单说下鄙人对js函数的理解,如果只是简简单单的说下函数的话,我想其实并不是特别困难的,但是要是细细的围绕着函数等一系列的周边来说的话,那么真的需要一点时间和精力了,当然本次属于基础回顾,也就简单的说下函数的基本应用了。我还是想简单的贴几段代码来说明下函数的基本用法,毕竟本次博客是用来说明javascript的高级应用之设计模式的,所以如果有什么不懂得地方,大家可以自己百科了。/** *原创 2013-11-16 14:47:37 · 1158 阅读 · 0 评论 -
javascript学习(2)——[基础回顾]运算符、表达式、流程控制语句
好吧,简单说下运算符,贴个表:运算符描述例子结果+加x=y+2x=7-减x=y-2x=3*乘x=y*2x=10/除x=y/2x=2.5%求余数 (保留整数)原创 2013-11-16 14:38:32 · 1170 阅读 · 0 评论 -
javascript学习(1)——[基础回顾]变量、声明、数据类型、类型转换
本次javascript的学习,主要面向对象是有一定javascript基础的,当然即便是你不是特别懂,我个人推荐一本浅显易懂的书《Head Frist Javascript》,这本书比较简单,而且浅显易懂,非常适合javascript的入门学习。哈哈,顺势,做下这本书的“广告”啦。简单的在javascript的设计模式学习之前,先回顾下javascript的基本知识,不能面面俱到,但原创 2013-11-16 14:24:05 · 1397 阅读 · 0 评论 -
javaScript call 函数的用法说明
javascript的call方法,这篇还稍微看懂了点,分享下JavaScript 中的 call() 是一个奇妙的方法,但也是一个让人迷惑的方法,先看一下官方的解释。call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象。 call([thisObj[,arg1[, ar转载 2013-11-10 19:22:01 · 988 阅读 · 0 评论 -
javascript学习(0)——写在前面
可能有很多已经工作或者是即将工作有志成为一名软件开发者的朋友会觉得javascript这东西,很好学嘛。也非常好用,用到的时候随便查查网上现成的特效,再说了,现在成型的框架这么多,何必再去学习javascript这种底层而且又不好用的语言呢。那么其实我是这么认为的,首先,我是一名工作了一段时间的程序员;其次,我也用javascript开发了很多项目;再者,也会用一些诸如jQuery原创 2013-09-04 21:48:35 · 930 阅读 · 5 评论