下载及安装 要在项目中使用SeaJS,你所有需要做的准备工作就是下载sea.js然后放到你项目的某个位置。SeaJS项目目前托管在GitHub上,主页为 https://github.com/seajs/seajs/ 。可以到其git库的build目录下下载sea.js(已压缩)或sea-debug.js(未压缩)。下载完成后放到项目的相应位置,然后在页面中通过标签引入,你就可以使用SeaJS了。 SeaJS基本开发原则 在讨论SeaJS的具体使用前,先介绍一下SeaJS的模块化理念和开发原则。使用...
前言SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高J...
本书状态 你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。 本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作。 读者对象 本书最适合与我有相似技术背景的读者: 至少对一门诸如Ruby、Python、PHP或者Java这样面向对象的语言有一定的经验;对JavaScript处于初学阶段,并且完全是一个Node.js的新手。 这里指的适合对其他编程语言有一定经验的开...
一旦你了解了网络套接字与WEB服务器的连接,你将可以从浏览器发送数据到服务器并且可以接收由服务器返回的响应数据。以下是创建一个新的WebSocket对象的API: 代码如下:var Socket = new WebSocket(url, [protocal] );这里第一个参数是指要连接的URL,第二个参数是可选的,如果需要的话,则是指定一个的服务器支持的协议。WEB Socket属性:属性 说明Socket.readyState readyState的代表的ReadOnly属性的连接状态。它可以有以下值:...
尽管面向对象JavaScript与其他语言相比之下存在差异,并由此引发了一些争论,但毋庸置疑,JavaScript具有强大的面向对象编程能力本文先从介绍面向对象编程开始,然后回顾JavaScript对象模型,最后演示JavaScript中的面向对象编程概念。 JavaScript回顾 如果你对诸如变量(variables)、类型(types)、函数(functions)、以及作用域(scope)等JavaScript概念觉得心里没底,那么你可以阅读重新介绍JavaScript中的这些主题。你还可...
JavaScript 规范(ECMAScript)没有定义一套完善的能适用于大多数程序的标准库。CommonJS 提供了一套 JavaScript 标准库规范。Node 实现了 CommonJS 规范。 模块基础 在 Node 中,模块和文件是一一对应的。我们定义一个模块:代码如下: // circle.js var PI = Math.PI; // 导出函数 area exports.area = function(r) {return PI * r * r; } // 导出函数 circumference exports.circumference = function(r) {return 2 * PI * r; };...
阅读本文需要有其他语言的编程经验。 在 JavaScript 中数组是对象(而非线性分配的内存)。 通过数组 literal 来创建数组:代码如下: var empty = []; var numbers = [zero, one, two, three, four,five, six, seven, eight, nine ]; empty[1] // undefined numbers[1] // one empty.length // 0 numbers.length // 10数组有一个属性 length(而对象没有)表示数组的长度。length 的值为数组的最大整数属性名加 1:代码如下: var m...
阅读本文需要有其他语言的编程经验。 JavaScript 中的简单类型包括: 1.数字 2.字符串 3.布尔(true 和 false) 4.null 5.undefined 此外的其他类型均是对象(我们不要被 typeof 操作符的返回值所迷惑),例如: 1.函数 2.数组 3.正则表达式 4.对象(对象自然也是对象) 对象基础 在 JavaScript 中,对象是属性的集合(对象为关联数组),每个属性包括: 1.属性名,必须为字符串 2.属性值,可以为除了 undefined 之外的任何值 通过...
阅读本文需要有其他语言的编程经验。 开始学习之前 大多数的编程语言都存在好的部分和差的部分。本文只讲述 JavaScript 中好的部分,这是因为: 1.仅仅学习好的部分能够缩短学习时间 2.编写的代码更加健壮 3.编写的代码更加易读 4.编写的代码更加易于维护 弱类型和强类型 通常来说,越早的修复错误,为之付出的代价就越小。强类型语言的编译器可以在编译时检查某些错误。而 JavaScript 是一门弱类型语言,其解释器无法检查类型错误...
Node 虽然自身存在多个线程,但是运行在 v8 上的 JavaScript 是单线程的。Node 的 child_process 模块用于创建子进程,我们可以通过子进程充分利用 CPU。范例:代码如下: var fork = require(child_process).fork; // 获取当前机器的 CPU 数量 var cpus = require(os).cpus(); for (var i = 0; i < cpus.length; i++) {// 生成新进程fork(./worker.js); }这里了解一下包括 fork 在内的几个进程创建方法: 1.spawn(command, [args],...
setTimeout 和 clearTimeout代码如下: var obj = setTimeout(cb, ms);setTimeout 用于设置一个回调函数 cb,其在最少 ms 毫秒后被执行(并非在 ms 毫秒后马上执行)。setTimeout 返回值可以作为 clearTimeout 的参数,clearTimeout 用于停止定时器,这样回调函数就不会被执行了。 setInterval 和 clearInterval代码如下: var obj = setInterval(cb, ms);setInterval 和 setTimeout 类似,不过 setInterval 会在每 ms 毫秒后(并非精...
本文是一篇JsRender的实用入门教程,实例讲述了tag else使用、循环嵌套访问父级数据等知识点。分享给大家供大家参考。具体如下: 前言 JsRender是一款基于jQuery的JavaScript模版引擎,它具有如下特点: 简单直观 功能强大 可扩展的 快如闪电 这些特性看起来很厉害,但几乎每个模版引擎,都会这么宣传。。。 由于工作需要,小菜才接触到此款模版引擎。使用了一段时间,发现它确实比较强大,但小菜觉得有些地方强大的过头了,反...
本文实例分析了Jquery树插件zTree用法。分享给大家供大家参考。具体分析如下: 关于zTree的介绍就搜吧。 这个例子的最终效果如下:鼠标移动到一级目录时出现全选链接,点击全选链接该目录下的所有子项都被添加到收件人的文本框中,当然点击单个子项则添加一个。至于要添加些什么信息由自己决定。 1. 下载zTee,页面引入jquery.js,根据功能需求添加zTree相应的js和css代码如下: jquery.ztree.core-3.5.js:zTree核心包 jq...
React 是 Facebook 里一群牛 X 的码农折腾出的牛X的框架。 实现了一个虚拟 DOM,用 DOM 的方式将需要的组件秒加,用不着的秒删。React 扮演着 MVC 结构中 V 的角色, 不过你要是 Flux 搭配使用, 你就有一个很牛X的能让轻松让 M 和 V 同步的框架了,Flux 的事以后再说~ 组件们 在 React 中,你可以创建一个有特殊功能的组件,这在 HTML 元素里你是打着灯笼也找不到的,比如这个教程里的下拉导航。每个组件都有自己的地盘(scope),所...
变量是用于存储信息的容器:x=5; length=66.10;还记得在学校里学过的代数吗?当您回忆在学校学过的代数课程时,想到的很可能是:x=5, y=6, z=x+y 等等。还记得吗,一个字母可以保存一个值(比如 5),并且可以使用上面的信息计算出 z 的值是 11。您一定没有忘记,对吧。这些字母称为变量,变量可用于保存值 (x=5) 或表达式 (z=x+y)。JavaScript 变量正如代数一样,JavaScript 变量用于保存值或表达式。可以给变量起一个简短名称,比...