2017年6月17日
摘要: 接着上篇的话题继续,原生的js中有两种循环,分别是普通的for循环和for in循环,不管是哪种循环我们使用它们的时候经常有的一个操作就是循环遍历某一项,然后执行很多动作,在这些动作中如果遇到上篇中的给某个对象添加方法(或事件,事实上事件就是特殊的方法)的时候就会引起共享外部作用域的问题: 解决的手 阅读全文
posted @ 2017-06-17 23:23 特拉法尔加 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 上一篇最后我们提到了我们接下来的工作就是给实例化对象添加方法,很明显这些方法肯定得添加到原型上,由此我们可以猜测我们接下来的代码可能大概是这个样: 我们暂且先按照这个思路来写,遇到问题时再想办法解决 本篇我们首先来看DOM遍历,首先需要明确我们要添加哪些方法:prev() 寻找元素的前面一个节点,如 阅读全文
posted @ 2017-06-17 23:10 特拉法尔加 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 根据上篇的分析,我们接下来思考一下有哪些功能应该独立封装出来 首先,从整体结构上看,比较繁琐的部分主要在DOM操作这一块,例如:1、拿到数据之后创建DOM,并对其设置属性及样式等(className innerHTML,对于表单元素有type value自定义的属性等等)2、获取某些DOM元素,并对 阅读全文
posted @ 2017-06-17 23:00 特拉法尔加 阅读(286) 评论(2) 推荐(0) 编辑
摘要: 当下浏览器是JavaScript重要的宿主环境,因此我们非常有必要讨论一下浏览器这款客户端应用程序。而浏览器是伴随着互联网的发展而发展的。 1969年互联网诞生,此后得到了飞速的发展,它将全世界各地互联了起来。 1991年一个划时代的东西————浏览器横空出世,自此,互联网走进普通大众的家中,我们只 阅读全文
posted @ 2017-06-17 22:50 特拉法尔加 阅读(1019) 评论(0) 推荐(0) 编辑
  2017年4月22日
摘要: 这个问题已经有很多人回答过了,其中不乏一些大牛,接下来我作为一个草根来发表一些个人的看法: 1、地址输入过程 地址栏可以抽象成一个文本输入域对象,Chrome应用程序内一定给该对象绑定了键盘输入的回调,该回调将交给操作系统,操作系统会在用户按键时执行所有应用传递给它的回调队列,当操作系统监听到用户按 阅读全文
posted @ 2017-04-22 21:35 特拉法尔加 阅读(578) 评论(0) 推荐(0) 编辑
  2017年4月2日
摘要: 1、客户端两种主流的接口模型: 2、数组做函数参数的退化问题 数组做函数参数时会退化为一个指针 通常形参是数组类型时,会同时附带上数组的长度的参数 3、数据类型 数据类型是为了方便的表示现实中的事物 类型相同的数据有相同的表示形式、存储格式以及相关的操作 数据类型可以理解为创建对象的模具,是固定内存 阅读全文
posted @ 2017-04-02 23:19 特拉法尔加 阅读(389) 评论(0) 推荐(0) 编辑
  2017年3月9日
摘要: 所谓性能最直观的感觉就是网站在交互的时候响应的速度,也就是一次请求响应周期所花费的时间,这个时间和很多因素有关系 请求发出前: 总体原则:在客户端应该尽量减少请求发送的数量第一例:订单列表中点击删除按钮删除某条订单,可以做成点击时发送ajax给服务器,客户端收到响应后直接刷新页面,也可以做成在客户端 阅读全文
posted @ 2017-03-09 23:25 特拉法尔加 阅读(130) 评论(0) 推荐(0) 编辑
  2017年2月23日
摘要: 这是这个系列的第一课,我们来解释几个常见的概念: 程序 程序的本质其实是数据和指令的集合 指令暂时可以理解为就是定义变量,循环,判断等 数据我们经常接触,数据可以按照一定标准分类,比如我们可以按照它们在内存中存储的位置来分类,js中的数据分为两大类:基本类型、引用类型 可以理解为基本类型在栈空间存储 阅读全文
posted @ 2017-02-23 22:17 特拉法尔加 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1、JavaScript实现接口 方法1:注释 方法2:属性检测 方法3:鸭式辩型 类实现接口的目的就是要把接口里面所有的方法都实现 鸭式辩型核心的核心就是检测方法 2、单体模式 3、函数链式调用 4、工厂方式 5、桥接模式 6、组合模式 专门为Web上的动态用户界面而量身定制的 这种模式可以用一条 阅读全文
posted @ 2017-02-23 21:33 特拉法尔加 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 先总结一下之前看jQuery源码的感受: 由于没有看源码的经验,所以通常就是直接去看源码,然后感觉有些地方不知道为什么写成那样,现总结原因如下: 1、由于自己工作经验积累的不够,看到某些细节的处理时不知道为什么那么做,例如判断一个变量是否为String类型,我发现jQuery源码内部进行了多次改造: 阅读全文
posted @ 2017-02-23 21:32 特拉法尔加 阅读(924) 评论(0) 推荐(0) 编辑