js
文章平均质量分 60
qq_38904449
这个作者很懒,什么都没留下…
展开
-
js-day0
js-day系列为 javascript设计模式 笔记why-js-day系列为 你不知道的JavaScript 笔记原创 2018-07-26 13:40:57 · 341 阅读 · 0 评论 -
js-day4 结构型设计模式
结构型设计模式结构型设计模式关注于如何将类或对象组合成更大,更复杂的结构,以简化设计Facade外观模式,为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统接口的访问更加容易document.onclick=function (ev) { ev.preventDefault(); if (ev.target!==document.getEle...原创 2018-08-13 14:29:23 · 130 阅读 · 0 评论 -
why-js-day2 this和对象原型
关于thisthis提供一种更优雅的方式来隐式传递一个对象引用记录函数的调用次数,第一种错误的理解,将this理解为指向函数自身function foo(num) { console.log("foo: "+num); this.count++;}foo.count=0;for (let i=0;i<10;i++){ if (i>5){ ...原创 2018-08-02 19:52:47 · 98 阅读 · 0 评论 -
js-day3 创建型设计模式
创建型设计模式是一类处理对象创建的设计模式,通过某种方式控制对象的创建来避免基本对象创建时可能导致的设计上的问题或增加设计上的复杂度Simpe Factory简单工厂模式,又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例,主要用于创建同一类对象基础需求let LoginAlert=function (text) { this.content=text;...原创 2018-07-28 13:26:18 · 124 阅读 · 0 评论 -
why-js-day1 作用域和闭包
作用域编译分词/词法分析(tokenizing/lexing)-----将代码块拆分为词法单元(token) 解析/语法分析(parsing)-----将词法单元转换为抽象语法树(AST) 代码生产-----将AST转换为可执行代码关键角色引擎:从头到尾负责整个JavaScript的编译和执行过程 编译器:负责词法分析以及代码生成 作用域:负责收集并维护所有声明的标识符组成的...原创 2018-07-28 10:22:51 · 161 阅读 · 0 评论 -
why-js-day6 行为委托
[[prototype]]机制就是指对象中的一个内部链接引用另一个对象,如果在第一个对象上没有找到需要的属性和方法,引擎就会在[[prototype]]关联的对象上继续查找,如果后者也没找到,则会继续查找后者的[[prototype]],以此类推,这一系列对象的链接称为原型链,JavaScript中的这个机制本质即使对象之间的关联关系面向委托的设计let Task={ setID...原创 2018-08-05 07:45:18 · 132 阅读 · 0 评论 -
js-day2
封装创建一个类let Book = function (id, bookname, price) { this.id = id; this.bookname = bookname; this.price = price};Book.prototype.dispaly = function () {};// Book.prototype={// di...原创 2018-07-27 18:47:34 · 133 阅读 · 0 评论 -
why-js-day5 原型
[[prototype]]JavaScript对象都有一个[[prototype]]的内置属性,指向其他对象,几乎所有对象在创建时该属性都会被赋予非空的值,但可以为空let myobj={ a:2};console.log(myobj.a);当试图引用对象的属性时会触发[[Get]]操作,对于默认的[[Get]]操作检查对象本身是否有这个属性,有就使用 如果没有则继...原创 2018-08-04 11:19:36 · 123 阅读 · 0 评论 -
why-js-day4 混合对象"类"
实际JavaScript中并没有类实例化继承多态多继承混入显式混入function mixin(sourceObj, targetObj) { for (let key in sourceObj){ if (!(key in targetObj)){ targetObj[key]=sourceObj[key]; ...原创 2018-08-03 20:50:29 · 91 阅读 · 0 评论 -
js-day1
简单的函数实现function checkName() { // body...}function checkEmail() { // body...}function checkPassword() { // body...}对象中的实现let CheckObject = { checkName: function () {}, ...原创 2018-07-26 14:17:46 · 82 阅读 · 0 评论 -
why-js-day3 对象
语法声明(文字)形式let myObj={ key:value};构造形式let myObj=new Object();myObj.key=value;类型基本类型string number boolean null undefined objectnull本身是基本类型,但由于在JavaScript中,对象在底层表示为二进制,前三位为0则为对象...原创 2018-08-03 17:56:46 · 157 阅读 · 0 评论