11 2018 档案

摘要:最近在看Symbol不能使用new操作符,然后类比到Number,String,Boolean,因为它们同属于基本类型,但是有有所差异:Number,String,Boolean是可以使用new操作符进行实例的输出的。出个题: 这里其实考察的是值类型和引用类型,String()返回的是字符串,即基本 阅读全文
posted @ 2018-11-30 13:43 tangjiao_Miya 阅读(1772) 评论(0) 推荐(0)
摘要:1,昨天收到一封邮件,没仔细看内容,今天回过头再瞄了一眼,发现下面有个不认识的词语:拨冗出席 后百度查之,发现是具有文言色彩的客套话,意思是,请对方推开繁忙的工作,抽出时间来做某件事情。 《红楼梦》第十六回:“见贾琏远路归来,少不得拨冗接待。” 相关词语有:拨冗莅临 拨冗光临 拨冗参加 又想重读红楼 阅读全文
posted @ 2018-11-30 10:33 tangjiao_Miya 阅读(641) 评论(0) 推荐(0)
摘要:1,javascript中new一个实例时候有哪几步,或者发生了什么?答:第一步,创建一个空对象,将对象的__proto__属性指向构造函数的prototype对象;第二步:改变this指向;第三步:返回该对象。 2,什么是javascript的事件循环? 答:javascript是单线程的,需要一 阅读全文
posted @ 2018-11-29 18:01 tangjiao_Miya 阅读(167) 评论(0) 推荐(0)
摘要:javascript中原始值,即基本数据类型,像Number,String,Boolean,undefined,Null都是基本类型值,保存在栈中,但是有个疑问: Symbol打印出来明明是个函数,具有prototype的属性,不能实例化的原因是:Symbol是个原始值。但Symbol明明就是个函数 阅读全文
posted @ 2018-11-29 17:45 tangjiao_Miya 阅读(1022) 评论(0) 推荐(0)
摘要:之前闲来了解了__proto__和prototype的区别,每个对象都有隐私属性__proto__,而prototype是javascript函数特有的属性。那么constructor属性呢?最近是遇到一个bug:IOS8.3系统File对象的原型上面没有constructor属性,所以无法new一 阅读全文
posted @ 2018-11-29 10:54 tangjiao_Miya 阅读(535) 评论(0) 推荐(0)
摘要:这是具体的拖放代码的HTML,里面依赖两个组件:EventUtil.js是兼容浏览器添加方法的库,EventTarget.js是一个发布-订阅者模式的对象库。 EventUtil.js: EventTarget.js: 以下是拖拽功能实现的全代码,功能性比较强大,支持在mousestart时候有回调 阅读全文
posted @ 2018-11-26 14:30 tangjiao_Miya 阅读(262) 评论(0) 推荐(0)
摘要:好莱坞原则——不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)。在Javascript中就是:别调用我们,我们会调用你。 “好莱坞原则”强调的是高层对低层的主动作用,模板方法模式是好莱坞原则的一个经典使用场景,抽象父类控制子类的哪些方法在什么时候被调用 阅读全文
posted @ 2018-11-25 18:53 tangjiao_Miya 阅读(228) 评论(0) 推荐(0)
摘要:线程,是程序执行流的最小单位。线程可与同属一个进程的其他线程共享所拥有的全部资源,同一进程中的多个线程之间可以并发执行。线程有就绪,阻塞,运行三种基本状态。 阮一峰大神针对进程和线程的类比,很是形象:计算机的核心CPU,是个工厂,时刻运转着,工厂里有很多个车间(进程),一个车间开工其他车间不能开工, 阅读全文
posted @ 2018-11-25 09:59 tangjiao_Miya 阅读(1427) 评论(0) 推荐(1)
摘要:一般认为,钩子函数就是回调函数的一种,其实还是有差异的,差异地方就是:触发的时机不同。 先说钩子函数: 钩子(Hook)概念源于Windows的消息处理机制,通过设置钩子,应用程序对所有消息事件进行拦截,然后执行钩子函数。 上面的例子,在按钮点击时候立即执行钩子函数。而看下面的例子: 给btn绑定了 阅读全文
posted @ 2018-11-24 19:59 tangjiao_Miya 阅读(26023) 评论(3) 推荐(2)
摘要:观察者模式:定义一对多的关系,让多个观察对象同时监听某一个主题对象,主题对象状态发生变化就通知所有观察者对象。所以它是由两类对像组成:Subject主题+Observer观察者。主题发布事件,观察者通过订阅事件观察主题。 Observer模式提供给关联对象一种同步通信的手段,使得主题和观察者之间保持 阅读全文
posted @ 2018-11-23 14:48 tangjiao_Miya 阅读(3240) 评论(0) 推荐(1)
摘要:提到代理,分为:正向代理和反向代理。 正向代理:就是你访问不了Google,但是国外有个VPN可以访问Google,你访问VPN后叫它访问Google,然后把数据传给你。 正向代理隐藏了真实的客户端。 反向代理:你访问baidu.com,后面有成千上万台服务器,具体访问哪一台,你不知道,只需要知道反 阅读全文
posted @ 2018-11-20 10:38 tangjiao_Miya 阅读(375) 评论(0) 推荐(0)
摘要:其实就是跨域请求。我们知道XHR只能访问同一个域中的资源,这是浏览器的安全策略所限制,但是开发中合理的跨域请求是必须的。CORS是W3的一个工作草案,基本思想就是:使用自定义的HTTP头部让浏览器与服务器沟通,决定响应成功或失败。 CORS需要浏览器和服务器同时支持,所有浏览器都支持该功能,IE浏览 阅读全文
posted @ 2018-11-19 20:32 tangjiao_Miya 阅读(1466) 评论(0) 推荐(0)
摘要:我们知道,父组件不能修改子组件的数据【这种说法是不严谨的】,严谨的说法是:子组件内部不能修改从父组件传递过来的值。原因是vue遵循的是数据单向流原则,父组件传递数据给子组件只能单向绑定,通过Props,子组件通过$emit发射自定义事件传参到父组件,而数据的改变是只能父组件改变父组件的,子组件改变子 阅读全文
posted @ 2018-11-15 17:55 tangjiao_Miya 阅读(220) 评论(2) 推荐(0)
摘要:javascript的基本类型:Undefined,Null,Boolean,Number,String 引用类型:Object,Array,Function 基本类型值在内存中占据固定大小,被保存在栈内存中,引用类型值是对象,保存在堆内存中。 Javascript的内存的生命周期对于用户来说是透明 阅读全文
posted @ 2018-11-14 11:34 tangjiao_Miya 阅读(4324) 评论(0) 推荐(0)
摘要:最近在减肥,可以说最近一段时间都在喊减肥,而近来体重反而不降反升,其实自己检讨下就知道原因的,虽然吃的很健康,但是一吃就停不下来,属于暴饮暴食系列了,简直是阔怕,但是有个很好的习惯保持了下来,就是自己做饭,被室友总是吐槽做饭难吃,我只是笑笑,不作回应,别人的看法对我来说有什么意义呢?自己觉着适合自己 阅读全文
posted @ 2018-11-14 10:41 tangjiao_Miya 阅读(297) 评论(3) 推荐(2)
摘要:经常见到别人用with,但是没有细究,现在有时间扒一扒用with有多方便: 其实就是有时候你需要多次使用一个对象的属性或者方法,你不想用Qiao.name,Qiao.age,Qiao.height去访问。with语句的代码块里面可以直接写属性名进行访问。 延长作用域链,其实就是给作用域链的前端增加了 阅读全文
posted @ 2018-11-13 18:00 tangjiao_Miya 阅读(234) 评论(0) 推荐(0)
摘要:我觉着我可能对这块有点误解,所以单独开个博说下自己的理解,当然是研究后的正解了。 1,参数传递是基本类型,看个例子: 感觉这个都没啥好说的,基本类型传入函数后,函数内部参数生成一个参数副本,按值传入没毛病。 2,引用类型(一个对象)当作参数传入函数后呢? 在这个例子里面,obj和person指向的是 阅读全文
posted @ 2018-11-13 17:16 tangjiao_Miya 阅读(740) 评论(0) 推荐(0)
摘要:项目中有人将图片转换为base64的编码进行img的src属性赋值,可以妥妥的显示。上面那串字符串是Data URI scheme:将一些小的数据直接嵌入网页中,而不用再从外部文件引入,上面那串字符串其实是一张小图片,可以通过复制粘贴到chrome的地址栏中,可以看到是个默认图像。 优点: 1,减少 阅读全文
posted @ 2018-11-13 15:59 tangjiao_Miya 阅读(2927) 评论(0) 推荐(0)
摘要:浏览器的策略本质是:一个域名下面的JS,没有经过允许是不能读取另外一个域名的内容,但是浏览器不阻止你向另外一个域名发送请求。 所以form表单提交没有跨域问题,提交form表单到另外一个域名,原来页面是无法获取新页面的内容,或者说form提交后不需要返回,但是ajax是需要返回的。 而ajax是想要 阅读全文
posted @ 2018-11-13 12:02 tangjiao_Miya 阅读(5628) 评论(0) 推荐(0)
摘要:先看个概念: window.devicePixelRatio = 物理像素 / dips(独立像素) window.devicePixelRatio是设备的物理像素和独立像素的比例,可以叫设备像素比。 非视网膜屏幕的iphone上设备像素比是1,而retina屏幕的iphone,一般像素比是2或者3 阅读全文
posted @ 2018-11-13 11:33 tangjiao_Miya 阅读(1071) 评论(0) 推荐(0)
摘要:前端性能优化可以说很广泛了: 1,减少HTTP请求次数的优化: 1)使用代理请求,对于用户频繁的请求,客户端先自己缓存进入代理对象,代理来决定是否真正进行HTTP请求,而不是每次都触发请求。 2)缓存代理,例如分页请求,可以将之前的请求数据缓存再代理对象中,下次请求时候先过缓存代理,有缓存就拿缓存的 阅读全文
posted @ 2018-11-12 15:34 tangjiao_Miya 阅读(174) 评论(0) 推荐(0)
摘要:Reflect对象其实就是为了取代Object对象。取代原因有一下几点: 1)Object对象的一些内部方法放在了Reflect上面,比如:Object.defineProperty。主要是优化了语言内部的方法。 2)修改Object方法的返回,例如:Object.definePropery(obj 阅读全文
posted @ 2018-11-12 14:11 tangjiao_Miya 阅读(977) 评论(0) 推荐(0)
摘要:最近在Javascript的设计编程中,用到的那个单例模式,感觉就类似一种代理的思想【其实就是缓存的一种机制】,单例模式就是: 任何在getSingle传入方法的函数,都会具有单例模式,就类似于缓存的思想,函数的执行得先过getSingle,它里面有个result的缓存,有缓存返回缓存,但是跟ES6 阅读全文
posted @ 2018-11-10 16:25 tangjiao_Miya 阅读(142) 评论(0) 推荐(0)
摘要:在实际项目中,总会遇到一些函数频繁调用的情况,比如window.resize,mouseover,上传进度类似的触发频率比较高的函数,造成很大的性能损耗,这里可以使用节流函数来进行性能优化,主要是限制函数被频繁调用的解决方案: 此函数可以触类旁通,throttle是个高阶函数,参数输入是个函数【该频 阅读全文
posted @ 2018-11-06 15:26 tangjiao_Miya 阅读(565) 评论(0) 推荐(0)
摘要:在看uncurrying化函数时候,碰到了Function.prototype.call.apply()的用法: 先说说uncurrying()函数: 然后可以通过var call = Function.prototype.call.uncurrying()进行函数参数的调用: 最后输出的是://s 阅读全文
posted @ 2018-11-06 11:25 tangjiao_Miya 阅读(1320) 评论(0) 推荐(0)
摘要:“实例中的指针仅指向原型,而不是指向构造函数”。 “重写原型对象切断了现有原型与任何之前已经存在的对象实例之间的关系;它们引用的仍然是最初的原型”。——前记 上面的b.constructor指向的是构造函数,但是如果构造函数原型被重写,b.constructor !== fun了,原因是指针指向的其 阅读全文
posted @ 2018-11-05 17:08 tangjiao_Miya 阅读(1277) 评论(0) 推荐(0)
摘要:这里我画了一张图: f是F的实例对象,实例对象继承构造函数原型对象,constructor属性是原型对象特有的,所以,f也具有contructor属性,f.constructor F.prototype.constructor 而F.prototype.constructor F。 可以看出f继承F 阅读全文
posted @ 2018-11-05 13:59 tangjiao_Miya 阅读(310) 评论(0) 推荐(0)