随笔分类 - [10]JS
-
js模版引擎handlebars.js实用教程
摘要:js模版引擎handlebars.js实用教程阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的一些问题。 实际上,小菜写这篇文章,很大程度是因为关于这个插件的中文资料比较少,像小菜这样的新手难以快速使用。 小菜再次申明,本文不会讲解Handlebars.js的基本语法,网上资料很多,请读者自补。目录:为什么选择Handlebars.js?如何引入Handlebars.js?each-基本循环使用方法。each-循环中使用this。with-进入到某个属性(进入到某个上下文环境)。with-终 阅读全文
-
AngularJs服务
摘要:走进AngularJs(六) 服务 今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录一下。一、认识服务(service) 服务这个概念其实并不陌生,在其他语言中如java便有这样的概念,其作用就是对外提供某个特定的功能,如消息服务,文件压缩服务等,是一个独立的模块。ng的服务是这样定义的:Angular services are singletons objects or functions that carry out specific tasks common to web apps. 它是一个单例对象或函数,对外提供特定的功能。首先... 阅读全文
-
Knockout 可扩展性
摘要:你需要知道的顶级特性Knockout 最棒的一个特点就是它的可扩展性。Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序。许多开发者除了 Knockout 核心库之外没有使用任何其他的脚本库 ( 甚至包括 jQuery ) 就创建了非常棒的站点。Subscribables在创建我们的库存管理程序的时候,很容易发现在 Knockout 中 Observable 是一个核心对象。在 Observable,ObservableArray 和 Computed Observables 的底层是 Subscribable,Subscribable 是包含三个方法和一个 Subscri 阅读全文
-
node
摘要:趁热打铁学node前言不废话直接官网下载安装。windows安装很简单,双击ok. 完成后命令行输入node -v. 会提示版本号,说明安装成功(Node.js 还自动附带安装了npm,类似ruby的gem)。linux安装。对于linux我是菜鸟,并且安装要麻烦一些,俺废了一天的劲终于在centos下安装完成。后来一问才知道人家大神都是直接命令行的那种系统,瞬时崩溃了。 大概总结下来就是:注意python的编译环境,时刻注意自己的权限够不够。 4.sublime text 一个灰常不错的编辑器. 使用入门 开始干活 1.来个helloworld 创建test.js ... 阅读全文
-
ajax调用webservice
摘要:$.ajax()调用webservice常规请求基本格式1 [WebMethod]2 public string SayHello(string name)3 {4 return "Hello " + name;5 } 1 $.ajax({ 2 url: "/CommonService.asmx/SayHello", 3 type: "Post", 4 dataType: "json", ... 阅读全文
-
jQuery的奥秘
摘要:颜海镜高效jQuery的奥秘讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。首先,如果你是一个javascript新手,我建议您阅读 《JavaScript初学者的最佳实践》 ,这是一篇高质量的javascript教程,接触jQuery之前最好先阅读。当你准备使用jQuery,我强烈建议你遵循下面这些指 阅读全文
-
页面打印
摘要:开源的javascript实现页面打印功能,兼容所有的浏览器(情况属实)这篇文章完全是属于技术文章,也是记录一下自己在项目当中遇到的坑爹问题啊,因为是B/S的程序,所以打印功能还是必须要有的,对于打印我选择了一个js插件,发现非常的简单和方便,所以这里拿出来和大家分享一下啊!还是很有用的哦!在实际项目当中有时候还要包括数据统计的功能,这个我相信一般的项目都要有的吧(想听听大家的意见),这里也想请大家帮我推荐一个好的javascript插件吧,或者其他什么组件,不废话了,看代码去。VS环境:2012测试浏览器:所有主流浏览器(Chorme,Firefox,IE10,9,8,7,Opera,360 阅读全文
-
同源策略与JSONP
摘要:[CORS:跨域资源共享] 同源策略与JSONPWeb API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分。“同源策略”限制了JavaScript的跨站点调用,这必然导致Web API不能垮域提供资源。如果Web API仅限于为“同源客户端”提供资源,那么它都对不起自己的名字,因为Web本身是一个开放的协议。那么ASP.NET Web API通过怎样的方式来实现跨域资源共享呢?同源策略浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境。而这里所说的应用,基本是指在浏览器中执行的客 阅读全文
-
数组与字符串
摘要:JQuery攻略(三)数组与字符串 在上两章,JQuery攻略(一) 基础知识——选择器 与 DOM和JQuery攻略(二) Jquery手册我们为后面的章节打好了基础,在这一章节中,我们继续。 在这一章节中,我们记录的是JQuery数组与字符串的学习此章节有 3.0一不小心就忽略了的$符号 3.1数组的输出 用到的函数有:text() , join() , html() , each() , append() , get() 3.2数组元素的操作 用到的函数有:map() , toUpperCase() 3.3数组元素的筛选 用到的函数有:grep() , match() ... 阅读全文
-
仿花田:相亲网站 意中人 已在GitHub上开源
摘要:仿花田:相亲网站 意中人 已在GitHub上开源在园友的强烈呼唤下,我还是负责任的分享给大家,因为对代码比较熟悉一下,还是有些问题要说明,不然别人看起来会比较费劲。说实话除了这个bootstrap的界面风格和这件事情本身对大家有吸引力之外,内部的逻辑,结构,可能有些捉襟见肘,会让大家见笑,大牛们完全可以略过.现在源码已经让我推到GitHub上面去了。我先从头到尾的介绍一下,然后说一些存在的问题。也希望大家给出更好的建议。一、结构说明 1.MVC 我先说模型,共有20几张表,支持数据迁移。BaseInfos(基本资料),DetailInfos(详细资料),LoveViews(恋爱观) 应该是做. 阅读全文
-
JavaScript模板引擎原理
摘要:JavaScript模板引擎原理,几行代码的事儿2013-12-03 16:35 by BarretLee,650阅读,6评论,收藏,编辑一、前言什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定。比如:var tpl = 'Hei, my name is , and I\'m years old.';通过模板引擎函数把数据塞进去,var data = { "name": "Barret Lee", "age": "20"};var result = tplEngine(tpl, d 阅读全文
-
内部相亲网站意中人
摘要:仿花田:内部相亲网站 意中人(Asp.net MVC,Bootstrap2) 起因: 那是七月份了,看见单身的同事在上花田网,当时觉得风格比较清新,还没有世纪佳缘等那些网站那么商业化,加上又看到了bootrstrap,于是就想做个demo出来玩玩。中间自己又在做其他的事情,和web没有关系,也想没事的时候也可以练练web,到上个星期,干脆就发布在公司的内网了。没想到同事们mail一传,现在都有200多个人(我的公司是个制造业,这边全部的职工有2w+的人,除了产线上的小妹妹们,有电脑的也有好几千)注册了。同事说她宿舍的都和别人在上面聊到要见面了。我倒是有点高兴,倒是帮上了忙点忙。下面上图:... 阅读全文
-
自定义表单-jsonform
摘要:项目文件地址:https://github.com/powmedia/backbone-forms#editor-listDEOM:http://jsfiddle.net/evilcelery/dW2Qu/json-schema http://json-schema.org/implementations.htmljson2form http://code.google.com/p/jquery-json2form/json2form演示文档地址 http://product.wikisoft.me/演示Demo buildform.rar 下载.Backbone.js API中文文档htt. 阅读全文
-
Kraken.js!
摘要:Hello Kraken.js!前言kraken.js 由paypal 公司开源的一个用于快速开发基于Express.js框架应用的快速开发工具, 因为kraken 并没有在Express.js基础上更改多少东西,只是在原来的express基础上补充了一些约定开发的规则, 让开发根据便捷.你好,世界!要创建一个kraken 项目只需要非常简单的三步走:安装必备工具Linux or Macsudo npm install -g generator-krakenWindowsnpm install -g generator-kraken创建kraken项目只需要一行代码,然后,看着提示语,输入一些 阅读全文
-
let和const关键词
摘要:ECMAScript 6中的let和const关键词2013-11-28 21:46 by BarretLee,21阅读,0评论,收藏,编辑ECMAScript 6中多了两个定义变量的关键词,一个是let,另一个是const,后者顾名思义就是常量定义,前者的作用域范围是块级的。一般写过js的童鞋都知道,同其他语言一样,JS中的变量作用域是函数域而不是块级分割的,但是涉及到变量提升(hosting),闭包等问题的时候,很多有经验的程序员依然会头疼。var a = 5;if(true){ var a = 10;}console.log(a);//10上面的结果是10,但是我们看到,在if b... 阅读全文
-
AngularJS的工作原理1
摘要:AngularJS的工作原理个人觉得,要很好的理解AngularJS的运行机制,才能尽可能避免掉到坑里面去。在这篇文章中,我将根据网上的资料和自己的理解对AngularJS的在启动后,每一步都做了些什么,做一个比较清楚详细的解析。 首先上一小段代码(index.html),结合代码我们来看看,angular一步一步都做了些什么。 Hello {{name}}! 当你用浏览器去访问index.html的时候,浏览器依次做了如下一些事情:加载html,然后解析成DOM;加载angular.js脚本;AngularJS等待DOMContentLoaded事件的触发... 阅读全文
-
Node.js的模块载入方式与机制
摘要:SnandyStop, thinking is the essence of progress.Node.js的模块载入方式与机制Node.js中模块可以通过文件路径或名字获取模块的引用。模块的引用会映射到一个js文件路径,除非它是一个Node内置模块。Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始的时候就预加载了。其它的如通过NPM安装的第三方模块(third-party modules)或本地模块(local modules),每个模块都会暴露一个公开的API。以便开发者可以导入。如1varmod = require('module_name' 阅读全文
-
Recover Binary Search Tree
摘要:LeetCode:Recover Binary Search Tree其他LeetCode题目欢迎访问:LeetCode结题报告索引题目链接Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution?分析:首先我们最直观的的 阅读全文
-
knockoutJS
摘要:knockoutJS只需要五个简单的步骤,就可以做好使用 Knockout 开发的准备!第一步 我们需要什么?最低限度,为了完成后面的教程,你需要如下的准备Web 浏览器文本编辑器你的电脑上大约 2M 的磁盘空间基本的 Web 服务器Knockout 的开发可以在大多数你可以安装上面软件的操作系统上进行。为了完成这个教程,我将会使用 Chrome 浏览器。这个浏览器是免费的,并且可以安装在多个操作系统上,包括 Windows操作系统和Mac 操作系统。你可以在这里http://www.google.com/chrome下载这个软件。我选择的文本编辑器也会同时兼顾到文本编辑工作和 web 服务器 阅读全文
-
knockoutJS 快速上手
摘要:翻译:Knockout 快速上手 - 3: knockoutJS 快速上手许多时候,学会一种技术的有效方式就是使用它解决实际中的问题。在这一节,我们将学习使用 Knockout 来创建一个常见的应用,库存管理应用。应用概览在创建我们的应用之前,我们需要一个公司,来理解应用解决的问题。我们的应用将能够完成下列任务:浏览公司销售的每种产品,跟踪 SKU 数量和说明。对每种产品的价格,费用和数量进行赋值。当公司决定销售某种新产品的时候,可以创建新的产品。当公司停售某种产品的时候,可以删除这种产品。第一步 定义命名空间在我们实际开始开发应用之前,很重要的一个问题就是规划我们如何组织我们的程序,将我们应 阅读全文