随笔分类 -  Javascript

关于前端JS方面的东西
摘要:### 本文接着上一篇讲上一篇地址---### 回顾上次说到了rootScope里的$watch方法中的解析监控表达式,即而引出了对parse的分析,今天我们接着这里继续挖代码.### $watch续先上一块$watch代码$watch: function(watchExp, listener, o... 阅读全文
posted @ 2014-05-27 13:13 feenan 阅读(4231) 评论(3) 推荐(1) 编辑
摘要:上一篇地址本文主要分析RootScopeProvider和ParseProvider---### RootScopeProvider简介今天这个rootscope可是angularjs里面比较活跃的一个provider,大家可以理解为一个模型M或者VM,它主要负责与控制器或者指令进行数据交互.今天使... 阅读全文
posted @ 2014-05-20 15:49 feenan 阅读(10213) 评论(3) 推荐(2) 编辑
摘要:### AngularJS简介 angularjs 是google出品的一款MVVM前端框架,包含一个精简的类jquery库,创新的开发了以指令的方式来组件化前端开发,可以去它的官网看看,请戳这里 再贴上一个本文源码分析对应的angularjs源码合并版本1.2.4,精简版的,除掉了所有的注释, 请... 阅读全文
posted @ 2014-05-18 17:35 feenan 阅读(16952) 评论(3) 推荐(2) 编辑
摘要:下面是摘至里的一段话是关于对象转换数字值的一些规则"在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值。然后对该值应用前述规则。如果结果是NaN,则在调用toString()方法后再应用前述规则...."通过上面的描述,我们知道,当需要把对象转换成数字值时,先调用valueOf方法,假如返回NaN,则再调用对象的toString方法。所以写了下面的测试代码.var a={ valueOf:function(){ return "admin"; }, toString:function(){ return "2"; 阅读全文
posted @ 2013-12-08 13:32 feenan 阅读(666) 评论(1) 推荐(0) 编辑
摘要:雅虎给出了优化网站加载速度的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。1.Minimize HTTP Requests减少HTTP请求图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。2.Use a Content Delivery Network 利用CDN技术CDN 确实是好东西,8过服务器提供商的这项服务 阅读全文
posted @ 2013-10-30 15:48 feenan 阅读(455) 评论(0) 推荐(0) 编辑
摘要:js date 格式化 阅读全文
posted @ 2013-10-30 13:55 feenan 阅读(9588) 评论(1) 推荐(1) 编辑
摘要:源码注释转之网上他人之备注,特收藏以后方便阅读。// Underscore.js 1.3.3// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.// Underscore is freely distributable under the MIT license.// Portions of Underscore are inspired or borrowed from Prototype,// Oliver Steele's Functional, and John Resig's Micro-Templating.// 阅读全文
posted @ 2013-05-27 13:55 feenan 阅读(2064) 评论(0) 推荐(1) 编辑
摘要:源码分析转之网上它人的备注,特收藏一下,以免方便阅读。// Backbone.js 0.9.2// (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc.// Backbone may be freely distributed under the MIT license.// For all details and documentation:// http://backbonejs.org(function() { // 创建一个全局对象, 在浏览器中表示为window对象, 在Node.js中表示global对象 var root ... 阅读全文
posted @ 2013-05-27 13:52 feenan 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:接着上次说,这次准备在Model类里面,增加本地存储功能,用的是html5中的localStorage,这样方便,页面刷新的时候,自动加载已经添加的数据,下面是静态页的代码。<!DOCTYPE HTML><html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""&g 阅读全文
posted @ 2013-05-06 13:02 feenan 阅读(323) 评论(0) 推荐(0) 编辑
摘要:继续Javascript MVC 学习的探索,上次说到一个Model类,负责创建实际类,以及类实例化,这次接着添加ORM元素,即对象持久化特征。代码如下//基于原型的继承if(typeof Object.create!=="function"){ Object.create=function(o){ function F(){} F.prototype=o; return new F(); }}var Model={ prototype:{ init:function(){ console.log('Model.prototype.init'); ... 阅读全文
posted @ 2013-05-05 10:27 feenan 阅读(256) 评论(0) 推荐(0) 编辑
摘要:这两天看了下<基于MVC的Javascript 富应用开发>,感觉刚开始讲的那个model类,比较有趣,所以自己就造了一个轮子,体会了下,当然也参考了点代码,见下面的代码//基于原型的继承if(typeof Object.create!=="function"){ Object.create=function(o){ function F(){} F.prototype=o; return new F(); }}var Model={ prototype:{ init:function(){ console.log('Model.prototype.i. 阅读全文
posted @ 2013-05-04 15:26 feenan 阅读(500) 评论(0) 推荐(0) 编辑
摘要:记的刚开始用JS写代码的时候,都是一个方法一个方法的处理某个事情,比如function check(){ do something.....} 这样写的好处就是方便,什么时候用,什么时候写,但是坏处就是污染了全局空间,很容易出现重复的名字,而且不容易维护。 后来想到了用命名空间来解决全局空间的问题,比如下面的写法var com={};var com.do={};com.do.get=function(){}; 这样,方法名字就不会污染全局空间了,而且不同的人写的方法命名空间也会不一样,但是也有一个坏处那就是,每次调用一个方法的时候,都得写老长的名字,比如com.do.get(),这样很不... 阅读全文
posted @ 2013-03-30 23:21 feenan 阅读(2240) 评论(0) 推荐(0) 编辑
摘要:说到javascript继承,从后台转到前端开发的jser,一般的开发习惯是那种后台面向对象式开发像这种后台的面向对象编程,在前端JS开发中,也有类似的概念,就是JS继承方法中的类式继承。 首先我们定义一个父类, var Person=function(name){ this._name=name; } Person.prototype.getName=function(){ return this._name; } 像在后台面向对象中的继承一样,我们再定义一个子类来继承上面的父类var Author=function(name,books){ Per... 阅读全文
posted @ 2013-03-28 22:28 feenan 阅读(903) 评论(0) 推荐(0) 编辑
摘要:前两篇简单的介绍了javascript面向对象中的封装,接下来,说说继承首先Javascript中继承是原型继承的,什么是原型呢,javascript中的,每个对象都有一个原型的属性,原型本身是一个对象,假如在原型上面定义了属性和方法那么,这个类实例都会享有一个共有原型实例,下面先定义一个父类var Person=function(){};Person.prototype.name='xu';Person.fn=Person.prototype;Person.fn.getName=function(){ return this.name;} 再定义一个子类,然后用原型实现继承上 阅读全文
posted @ 2013-03-28 21:45 feenan 阅读(2321) 评论(0) 推荐(0) 编辑
摘要:接着上次说啦其实定义类的实例属性还有另外一种方法,因为javascript是原型继承的,所以可以直接在类的原型上面定义属性,比如var Person=function(){};//定义空的Person对象Person.fn=Person.prototype;//对原型的简写,方便代码编写Person.fn.name='xu';Person.fn.gent='man';Person.fn.birthday='1988';var p=new Person();console.log(p.name);//默认值p.name='update 阅读全文
posted @ 2013-03-28 16:24 feenan 阅读(1178) 评论(0) 推荐(0) 编辑
摘要:编外话:这是我的第一编文章,文笔不是很好,希望大家原谅,:)javascript 是一门容易让人误解的语言。从当初的一些JS验证代码,到如今web app应用的兴起,大型JS项目已经很多了,所以,应该从以前的JS过程开发,转变到JS面向对象编程上来,这样对以后的项目维护,以及项目功能扩展都是很好的帮助的。好了,话不多说了,一起走进javascript 的面向对象旅程之中吧。谈到面向对象,就必须知道它的三个要素:封装,继承,多态。因为javascirpt没有提供原生的面向对象语法支持,所以这三个要素都得用JS模拟。首先来看封装我们先来定义一个对象,名字为Person,然后为它添加三个属性:名称, 阅读全文
posted @ 2013-03-28 13:05 feenan 阅读(634) 评论(0) 推荐(0) 编辑