简介 目录 评价 推荐
  • sTone_StarDust 2018-09-13

    1- 减少变量定义 -- 因为有的变量定义时会执行new函数

    2- 在做react时 可以根据需求实现部分的jquery的功能 而不必全部引入 --- 这个也就提供了一些学习源码实现的思路:你在开发中有些功能跟jquery/zepto提供的功能很像,那么你就可以去zeptoy源码中搜对应的函数,看这个函数的实现思路 -- 这个可都是非常优秀的开发人员的手笔啊~

    0赞 · 0采集
  • sTone_StarDust 2018-09-13

    1- 原型 函数 都是对象的一种

    2- 函数是一种可执行对象

    3- 原型是内置的一个属性 一般构建方法是内建一个对象fn 然后把所有的属性加到fn中  再把这个fn赋值到prototype上

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-12

    1- 用函数内建的zepto对象管理所有的内部函数

    2- zepto.init的作用就是把传入的多种情况的selectort统一成zepto自定义的内部处理对象;


    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    zepto-core基本的设计结构

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    特别是当你写但三方库的时候,一定不要写公共变量,因为这样有可能你的公共变量会污染到使用者的变量。所有的变量都用函数圈起来,划定它的作用域

    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    这里就是第一步初步的设计

    1- 通过工厂模式--该自执行匿名函数返回一个加工后的对象给zepto变量

    2- 然后再把这个zepto变量挂载到全局变量window上,用Zepto为属性名;如果¥未被占用,也挂在$上

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    插件机制:

    就是往原型里加属性:

    arr.__proto__.customFn // 只是应用于arr一个变量 -- 验证下~

    arr.__proto__.constructor.prototype.customFn // 是应用于原型的 


    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    设计思路:

    1- 给自己定义的对象添加自定义的方法:

    -- 修改对象的__proto__指向,指向自己的所定义的对象(原型,里面有自定义的方法)

    -- 同时该对象的部分功能可以继承原来原型的方法,例如{ push:Array.prototype.push ...}

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    总结:是个好习惯:

    1- 每一个函数,都有一个prototype属性(因为原型的本质是函数??Array 都是函数)

    2- 所有通过函数new出来的东西(具体的对象, var arr = new Array(); 这个arr就是),每一个都有一个__proto__指向该函数的prototype

    -- prototype(显式原型)

    --__proto__(隐式原型)

    3- 对象的方法/属性 -- 会从自身出发,沿着原型链(__proto__)去寻找,__proto__类似于链表的指针

    4- __proto__是可修改的

    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    对象的__proto__可以被重新赋值

    之后可能就会与之前的原型链断开 所继承的方法也就不复存在了


    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    这个是.运算符的实现思路(不是让我们手动去跟着__proto__沿着原型链去找):

    1- 去__proto__中找 实际思路就是沿着原型链找某个原型提供了这个方法

    2- __proto__有点儿像链表中的指针,指向父级原型的prototype

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    通过函数(例如Fn)new出来的(例如a), a都有一个__proto__指向Fn的prototype

    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    对象要能够使用某种方法(以.属性的方式使用):

    1- 得把这个方法加到这个对象的原型链的某一个原型上

    2- 原型的获取可以通过对象的prototype或者__proto__属性来获取

    3- 原型获取到后还是一个对象,可以增加一些方法/属性

    笔记:

    1- fn.prototype ===  {

            constructor: {...} ,// 指向fn本身

            __proto__: {...} // 

         }


    截图
    0赞 · 0采集
  • sTone_StarDust 2018-09-11

    我们需要招聘有产品观念的程序员:

    1- 要有文档意识:当你写的一些产品/组件/第三方库的时候,一定要不厌其烦地提供准确详细的说明,并维护它。它的质量和寿命,决定着你的产品的寿命;

    2- 要有反馈与迭代的意识,根据反馈/调查结果来调整产品;

    1赞 · 0采集
  • 蓝昕 2018-06-19

    所有通过函数new出来的东西,这个东西都有一个__proto__指向这个函数的protyotype:

    prototype:(显示)原型

    __proto__:隐式原型

    当你想要使用一个对象(或者一个数组)的某个功能时,如果该对象本身具有这个功能,则直接使用,如果该对象本身没有这个功能,则去__proto__中找

    0赞 · 0采集
  • 纯情掉了一地 2018-05-22

    重写图,原理

    截图
    0赞 · 0采集
  • 纯情掉了一地 2018-05-22

    通过 重写__proto__ 属性,增加属性,并通过原型引用数组方法

    截图
    0赞 · 0采集
  • 纯情掉了一地 2018-05-21

    JS每一个函数都有prototype属性

    截图
    0赞 · 0采集
  • 雾梅 2018-05-06

    1.每一个函数,都有一个prototype属性,无论是自定义的,还是系统内置的。都有一个constructor指向它本身。 2.所有通过函数new出来的东西,这个东西都有一个__proto__指向这个函数的prototype,prototype:显式原型,__proto__:(隐式)原型。 3.当你想要使用一个对象(或者一个数组)的某个功能时:如果该对象本身具有这个功能,则直接使用;如果该对象本身没有这个功能,则去__proto__中找。

    0赞 · 0采集
  • 雾梅 2018-05-06

    javascript 三座大山:
    1. 原型和原型链
    2. 上下文环境和作用域
    3. 单线程和异步

    0赞 · 0采集
  • 雾梅 2018-05-06

    原型属性增加,__proto__是原型传递,继承,实例的本质。js中所有对象都继承自Object根对象,表面上是prototype,但本质离不开__proto__  

    0赞 · 0采集
  • 慕仔1666576 2018-04-28

    1,每一个函数,都有一个prototype属性。

    0赞 · 0采集
  • 无所畏惧小小小 2018-04-27

    类数组

    截图
    0赞 · 1采集
  • 冷月画心 2018-04-20

    js三大重点知识:原型和原型链   上下文环境和作用域    单线程和异步


    0赞 · 1采集
  • 木刻er 2018-04-19

    函数本身是没有属性的 , 因为它并不是一个对象 ,  但是函数的prototype是一个对象 , 可以把属性放在函数的prototype中 , 这就是构造函数   所以Array这个函数可以点出很多方法 , 因为这些方法都是在Array的原型链中定义的

    所有的函数都有一个prototype属性它是一个对象 , prototype下面有一个constructor指向函数本身 , 

    即 fn === fn.prototype.constructor 

    所有通过函数new出来的东西都有一个__proto__(隐式原型)指向prototype(显式原型) , 也就是说不管new几个函数, 他们的__proto__都指向构造函数的prototype , 所以构造函数的方法都放在函数的prototype中 , 而不是直接放在构造函数中

    0赞 · 0采集
  • 慕斯544713 2018-03-08
    这位双越老师是位好讲师。。
    0赞 · 0采集
  • 胖子文 2018-02-23
    一般都用"===",只有一种情况是用"==",if(a == null){...}。=== if(a === null || a === undefined)
    截图
    0赞 · 0采集
  • qq_九霄云外_0 2018-01-24
    arr instanceof Array //判断是否是数组
    0赞 · 0采集
  • 慕粉1052425963 2017-12-12
    当你想要使用一个对象(或者一个数组)的某个功能时:如果该对象本身具有这个功能,则直接使用;如果该对象本身没有这个功能,则去__proto__中找
    0赞 · 0采集
  • 慕粉1052425963 2017-12-12
    所有通过函数new出来的东西,这个东西都有一个__proto__指向这个函数的prototype
    0赞 · 0采集
数据加载中...
开始学习 免费