10 2018 档案

摘要:let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使用会报错 只要块级作用域内存在let声明,它所声明的变量就绑定了这个区域,不再受外部的影响 let不 阅读全文
posted @ 2018-10-23 21:10 戡玉 阅读(472) 评论(0) 推荐(1) 编辑
摘要:准备知识 在看ajax实现的时候,如果对ajax技术知识不是很懂的话,可以参看下 "ajax基础" ,以便读分析时不会那么迷糊 全局ajax事件 默认$.ajaxSettings设置中的global为true,因此在Ajax请求的生命周期内,这些事件将被触发: 默认情况下,ajax事件在docume 阅读全文
posted @ 2018-10-23 20:13 戡玉 阅读(214) 评论(0) 推荐(0) 编辑
摘要:准备知识 事件的本质就是发布/订阅模式,dom事件也不例外;先简单说明下发布/订阅模式,dom事件api和兼容性 发布/订阅模式 所谓发布/订阅模式,用一个形象的比喻就是买房的人订阅楼房消息,售楼处发布消息,体现为代码的话就是如下形式 DOM/Event 兼容性 1.focus/blur和mouse 阅读全文
posted @ 2018-10-23 20:12 戡玉 阅读(164) 评论(0) 推荐(0) 编辑
摘要:准备说明 该模块定义了库的原型链结构,生成了Zepto变量,并将其以'Zepto'和'$'的名字注册到了window,然后开始了其它模块的拓展实现。 模块内部除了对选择器和zepto对象的实现,就是一些工具方法和原型方法的定义。 值得一提的是,内部很多实现都利用了原生数组的方法,很多api也是基于内 阅读全文
posted @ 2018-10-23 20:11 戡玉 阅读(314) 评论(0) 推荐(0) 编辑
摘要:代码数量 1.2.0版本代码量为1650行,去掉注释大概1500左右 代码模块 默认版本只包括核心模块,事件模块,ajax模块,form模块和ie模块,其它模块需要自行拓展加入,其中form模块只包含序列化操作和submit提交事件实现,ie模块只包括一点兼容性处理,两者码量极少,因此不做分析 执行 阅读全文
posted @ 2018-10-23 20:10 戡玉 阅读(238) 评论(0) 推荐(0) 编辑
摘要:对一般兼容性和特点做了标识(主要是ie8+) ##节点类型 节点类型 节点值 标签节点(Element) 1 属性节点(Attr) 2 文本节点(Text) 3 CDATA节点(CDATASetion) 4 实体引用节点(EntityReference) 5 实体节点(Entity) 6 处理指令节 阅读全文
posted @ 2018-10-23 20:09 戡玉 阅读(331) 评论(0) 推荐(0) 编辑
摘要:坐标(鼠标/触摸) event.screenX 鼠标/触摸,相对于显示屏的X坐标 event.screenY 鼠标/触摸,相对于显示屏的Y坐标 event.clientX 鼠标/触摸,相对于浏览器视口的X坐标 event.clientY 鼠标/触摸,相对于浏览器视口的Y坐标 event.pageX 阅读全文
posted @ 2018-10-23 20:08 戡玉 阅读(1188) 评论(0) 推荐(0) 编辑
摘要:词法作用域 1. 作用域就是,程序查找变量和有效执行所在的区域,也称词法作用域。 1. 词法作用域分为,静态作用域和动态作用域。 1. 静态作用域取决于程序代码定义的时候,动态作用域取决于程序动态执行时的具体作用域环境。 1. js采用静态作用域,对于变量对象的获取只基于定义环境,而不受执行变化的影 阅读全文
posted @ 2018-10-23 20:07 戡玉 阅读(699) 评论(0) 推荐(0) 编辑
摘要:js的单线程模型与游览器的进程/线程息息相关,在了解js单线程与异步的时候,建议先看看这篇文章 为什么是单线程 由于js是可操作dom的,如果js是多线程,在多线程的交互下,处于界面中的dom节点就可能成为一个临界资源。 这个时候,如果两个线程同时操作一个dom,一个负责修改,一个负责删除,这时就会 阅读全文
posted @ 2018-10-23 20:05 戡玉 阅读(910) 评论(0) 推荐(0) 编辑
摘要:下面是一个理论上的模型,js引擎着重实现和优化了描述的这几个语义 可视化描述 栈(stack) js会以一种执行栈的方式去执行代码,以一种入栈和出栈的方式,后进先出的完成代码执行,用下图表示如下(上下文描述可以忽略,有兴趣的可以参考 "这篇文章" ,此文不作讲解): 堆(heap) 简单点说,就是一 阅读全文
posted @ 2018-10-23 20:03 戡玉 阅读(610) 评论(0) 推荐(0) 编辑
摘要:职业角度 用户体验(用户)——技术的使命应该是追求极致的用户体验,为产品创造价值。不应该为了技术而技术,而应该更多地从产品实际出发,积累产品思维 生产效率(公司)——技术的产出应该快速高效,为开发节省时间,也是为公司节省成本 编码质量(程序员)——代码的可维护性和拓展性是程序员的必修法则 生活角度 阅读全文
posted @ 2018-10-23 20:02 戡玉 阅读(159) 评论(0) 推荐(0) 编辑
摘要:持续积累中~ 拓展原型 Function.prototype.method = function (name, extend) { if (!this.prototype[name]) { this.prototype[name] = extend; } return this; }; 实现继承·方 阅读全文
posted @ 2018-10-23 08:51 戡玉 阅读(243) 评论(0) 推荐(0) 编辑
摘要:字符串转数字: 。 其他类型转字符串: 。 ,可以将值转换为布尔类型。 ,可以将值转换为布尔类型并取反。 ,在进行条件判断时,会被自动转换为 。 都可以通过 转换为对应值。 会自动过滤掉不存在的元素(比如数组设置length数)。 数组 设大不会分配更多空间。 数组 只会删除值,不会删除数组位。 对 阅读全文
posted @ 2018-10-23 08:50 戡玉 阅读(117) 评论(0) 推荐(0) 编辑
摘要:针对js严格模式 会报错的编码操作 进行了整理,避免不严谨的代码习惯,面向未来编程(es6+) 变量 1.定义八进制格式的数字 2.不带var的变量定义——包括函数体内的 3.对变量的delete操作——除非对象设置configurable为true 语句 1.使用with语句 对象 1.定义Obj 阅读全文
posted @ 2018-10-23 08:49 戡玉 阅读(141) 评论(0) 推荐(0) 编辑
摘要:生命周期 无论什么编程语言,内存生命周期都是一致的————分配,使用,释放 内存管理 1.某些类似C语言的程序,一般都有内存管理接口,开发人员需要显式分配和释放操作系统的内存 2.javascript会自动进行内存分配,并在不被使用时进行自动释放,这个过程被称为“垃圾回收” 垃圾回收 1.有两种回收 阅读全文
posted @ 2018-10-23 08:48 戡玉 阅读(146) 评论(0) 推荐(0) 编辑
摘要:阅读《高性能javascript》后,对其内容的一个整理和精简 加载与执行 1.将script标签放在body结尾标签上面 2.控制script标签数量(每一次script解析都意味着阻塞或延迟) 3.内嵌脚本不要放在link样式之后 4.对script标签应用defer属性 5.动态创建scrip 阅读全文
posted @ 2018-10-22 13:15 戡玉 阅读(157) 评论(0) 推荐(0) 编辑
摘要:游览器构成 渲染内核 渲染内核也称渲染引擎,主要有3种: Trident内核: IE Webkit内核:Chrome,Safari Gecko内核:FireFox 游览器工作 1. DNS域名解析 1. 建立TCP连接 1. 发送HTTP请求 1. 服务器处理请求 1. 返回响应结果 1. 关闭TC 阅读全文
posted @ 2018-10-22 13:14 戡玉 阅读(265) 评论(0) 推荐(0) 编辑
摘要:进程和线程的区别 CPU 计算机的核心,其负责承担计算机的计算任务(可以比喻为一个工厂)。 进程 CPU资源分配的最小单位,是能拥有资源和独立运行的最小单位。(可以比喻为工厂车间,是一个工厂任务的环节)任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。 线程 CPU调度的最小单位,是建立在进 阅读全文
posted @ 2018-10-22 13:13 戡玉 阅读(247) 评论(0) 推荐(0) 编辑
摘要:标准 + XMLHttpRequest标准又分为Level1和Level2 Level1 缺点 1. 受同源策略的限制,不能发送跨域请求 1. 不能发送二进制文件(如图片、视频、音频等),只能发送纯文本数据 1. 在发送和获取数据的过程中,无法实时获取进度信息,只能判断是否完成 Level2 改进 阅读全文
posted @ 2018-10-22 13:11 戡玉 阅读(173) 评论(0) 推荐(0) 编辑
摘要:Html 打电话 <a href="tel:0755-10086">打电话给:0755-10086</a> 发短信 <a href="sms:10086">发短信给: 10086</a> 发邮件 <a href="mailto:邮箱名">邮箱名</a> IOS下,取消input在输入的时候英文首字母 阅读全文
posted @ 2018-10-21 15:29 戡玉 阅读(239) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示