05 2016 档案

摘要:在最开始学习js的时候,我们在讲到原型链和构造函数的时候经常会有一个例子 如果我们定义函数如下: 但是如果我们中间改变了Foo.prototype的定义,那么a1.constructor的指向就改变了。 对于这个事实,这里通过我的理解来解释一下。 首先js中并没有像java这种面向对象语言一样,Fo 阅读全文
posted @ 2016-05-13 12:20 兔昵 阅读(1998) 评论(0) 推荐(0)
摘要:今天看书,了解到一个相较于类继承模式更好的一种编程思维:委托模式。 委托模式的实现原理依托于原型链。一个对象委托于另一个对象,两者共同来完成一件事情。因为有原型链的存在,因此如果将一个对象委托于另一个对象,那么,在委托者的原型链中就可以找到对应的方法和属性。在js语言中,委托模式比继承模式更加轻松便 阅读全文
posted @ 2016-05-12 00:10 兔昵 阅读(356) 评论(0) 推荐(0)
摘要:对于js中原型的理解,我仅处在初级阶段。我的理解是,js的原型是为了实现“类”的概念,可以使得对象的方法可以通用,实现类的继承。虽然js中并没有类的概念,但是多数情况下,人们还是偏向于使用面向对象的概念在编程。 Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称 阅读全文
posted @ 2016-05-10 00:18 兔昵 阅读(325) 评论(0) 推荐(0)
摘要:一.闭包 最开始理解闭包是在一个函数内部定义一个函数,可以在外面的环境里进行调用。现在对于闭包的理解是利用函数来保存作用域内的对象。 理解闭包首先要理解执行上下文,变量对象,活动对象,作用域链。因为执行上下文在函数执行后会销毁,因此变量也同时消失,但是为了一些特殊的应用场景,因此需要在函数执行后依旧 阅读全文
posted @ 2016-05-05 22:38 兔昵 阅读(457) 评论(0) 推荐(0)
摘要:一. 变量作用域 1)全局变量 在全局环境下声明的变量被视为全局变量。 在没有使用var进行声明的时候,变量就被定义为全局变量。在ES5的严格模式下,如果变量没有使用var来声明是会报错的。 2)局部变量 在函数体内部声明的变量被视为局部变量。其中涉及到js中的函数作用域问题。 二. 函数作用域 因 阅读全文
posted @ 2016-05-04 22:29 兔昵 阅读(4198) 评论(0) 推荐(1)
摘要:javascript数据类型分为基本类型和引用类型。基本类型分为5种,string,number,boolean,null和undefined。 引用类型:对象(object),数组(Array),函数(Function) 基本类型是不可变的原始值,引用类型是可变的引用。 1)Number类型 常见操作: Math.round(0.23) 四舍五入取整 Math.floor(0.23)... 阅读全文
posted @ 2016-05-03 22:42 兔昵 阅读(124) 评论(0) 推荐(0)