10 2017 档案

摘要:上一段组合继承的代码: function SuperType(name){ this.name = name; this.colors = ["red", "blue", "green"]; } <!-- 关键点1 --> SuperType.prototype.sayName = function 阅读全文
posted @ 2017-10-30 20:50 清源如风 阅读(149) 评论(0) 推荐(0)
摘要:angular的运行就是在JavaScript context里面自己实现了一套环境,叫做angular环境(angular context),非angular那部分环境叫经典环境(classic context), 在angular context里面也有一个队列,这个队列里面是watch列表,列 阅读全文
posted @ 2017-10-15 21:59 清源如风 阅读(174) 评论(0) 推荐(0)
摘要:浏览器里面有一个事件队列(event queue),用户触发啥事儿,或者网络请求,延时操作(例如定时器之类),都是一个event,浏览器会轮训这些事件,然后调用这些回调(这里的回调简单来说可以理解为触发一个函数),然后就进入JavaScript的环境中执行(JavaScript context),在 阅读全文
posted @ 2017-10-15 19:33 清源如风 阅读(142) 评论(0) 推荐(0)
摘要:虽然可以通过对象实例访问保存在原型中的值,但却不能通过对象实例重写原型中的值。如果我们在实例中添加了一个属性,而该属性与实例原型中的一个属性同名,那我们就在实例中创建该属性,该属性将会屏蔽原型中的那个属性。 如下例子: function Person(){ } Person.prototype.na 阅读全文
posted @ 2017-10-15 18:30 清源如风 阅读(3910) 评论(0) 推荐(1)
摘要:1.工厂模式 考虑到在 ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示: function createPerson(name,age,job){ var o = new Object(); o.name = name; o.ag 阅读全文
posted @ 2017-10-15 11:11 清源如风 阅读(5651) 评论(0) 推荐(3)
摘要:String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g,''); } 例子: var test = " abc "; String.prototype.trim = function(){ return thi 阅读全文
posted @ 2017-10-15 10:32 清源如风 阅读(541) 评论(0) 推荐(0)
摘要:1.属性 ECMAScript中有两种属性:数据属性和访问器属性。 一、数据属性 数据属性包含一个数据值的位置,在这个位置可以读取和写入值。 var person = { name :"Nicholas" }; 要修改属性默认的特性,必须使用ECMAScript 5 的Object.definePr 阅读全文
posted @ 2017-10-15 10:04 清源如风 阅读(238) 评论(0) 推荐(0)
摘要:1.IIFE(立即执行函数) 立即执行函数,即Immediately Invoked Function Expression (IIFE),正如它的名字,就是创建函数的同时立即执行。它没有绑定任何事件,也无需等待任何异步操作: (function() { // 代码 })(); function() 阅读全文
posted @ 2017-10-14 22:49 清源如风 阅读(127) 评论(0) 推荐(0)