10 2014 档案
摘要:cookie:是一个在服务区和客户端间来回传送文本值的内置机制; 大小受限:一般4KB; 只要涉及cookie,它就会自动在服务器和浏览器之间传送; //会存在安全问题;多消耗网络宽带; 操作:demo 添加:document.cookie = 'cookiename=cookievalue; ex
阅读全文
摘要:fs是唯一一个同时提供同步和异步API的模块; 读取文件夹文件名,数组形式返回: //fs.readFile()读取文件; process全局对象中包含三个流对象:stdin,stdout,stderr; console.log()内部就是在指定字符后加上\n字符,并将其写到stdout流中; 流:
阅读全文
摘要:全局对象: global:永远使用var 定义变量以避免引入全局变量; process:所有全局执行上下文的内容都在process对象中; 模块和包: 模块:一个Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展。Node.js 提
阅读全文
摘要:非阻塞IO: node.js使用了事件轮询 setTimeout是非阻塞的; 对于像http,net等原生模块中IO部分也采用了事件轮询,其本质是: 当node接受到浏览器的http请求时,底层的TCP连接会分配一个文件描述符;然后,当客户端向服务器发送数据,node会收到该文件描述符上的通知,然后
阅读全文
摘要:npm //Node.js Package Manager 查询版本号:npm --version/npm version 查询模块:npm search <name> 查看模块相关信息: npm view <name> 安装模块: mkdir project cd project npm inst
阅读全文
摘要:动态规划: 递归是从顶部开始将问题分解,通过解决所有分解出小问题来解决整体问题; 动态规划从底部开始解决问题,将所有小问题解决,然后合并掉一个整体解决方案; 背包问题: 递归解决: 动态规划:
阅读全文
摘要:顺序查找:也称线性查找,暴力查找的一种 基本格式: var nums = []; for(var i = 0; i < 10; ++i) { nums[i] = Math.floor(Math.random() * 101); } function seqSearch(arr,data) { for
阅读全文
摘要:单元测试被限定在一个范围内,并且不需要Ember应用运行。 使用前准备: 加入Ember-QUnit:获取一系列测试助手帮助单元测试;加入 mian.js; 加入根元素(与集成测试的时候一样):App.rootElement = '#ember-testing'; 设置单元测试: Ember.set
阅读全文
摘要:高级排序算法:(处理大数据:百万以上) 希尔排序:是插入排序的优化版; 首先设置间隔数组,然后按照每个间隔,分别进行排序; 如第一个间隔为5,首先a[5]与a[0]进行插入排序;然后a[6]和a[0],a[1]进行插入排序,直到最后一个; 然后换下一个间隔值,直到所有间隔值排序完(当间隔值为1时,就
阅读全文
摘要:基本准备: 基本排序算法: 冒泡排序:最容易实现也是最慢的算法之一 从头开始依次分别比较相邻的两个元素并排序,直到最后一个;此时确定最后一个会是最大的; 重复上面步骤但不比较已经确定的,此时确定最后第二个是第二大的; 继续重复直到剩下第一个元素为止,确定它是最小的; 从头开始依次分别比较相邻的两个元
阅读全文
摘要:图:是由边和定点的集合组成; 按照图的定点对是否有序可以分为:有向图和无向图; 路径:所有顶点都由边连接构成;路径长度为第一个定点到最后一个顶点之间的数量; 环:指向自身的顶点,长度为0;圈:至少有一条边的路径,且第一个顶点和最后一个顶点相同; 强连通:如果两个顶点之间有路径,则这两个顶点就是强连通
阅读全文
摘要:树:以分层的方式存储数据;节点:根节点,子节点,父节点,叶子节点(没有任何子节点的节点);层:根节点开始0层; 二叉树:每个节点子节点不超过两个;查找快(比链表),添加,删除快(比数组); BST:二叉树查找: 设置根节点为当前节点; 如果要插入的节点小于当前节点,则设置其左节点为新的当前节点;大于
阅读全文
摘要:集合:唯一性,无序性; 基本结构: 操作:demo 集合的基本操作:并集,交集,补集; 并集: 操作: demo; 交集: 操作: demo; 补集: 父集判断: 操作:demo
阅读全文
摘要:哈希表(散列表):通过哈希函数将键值映射为一个字典; 哈希函数:依赖键值的数据类型来构建一个哈希函数; 一个基本的哈希表:(按字符串计算键值) 操作:demo:; 可能出现的问题: 碰撞;即在哈希函数计算的时候出现相同的哈希值; 解决:这要解决哈希函数的计算问题;如上面定义中哈希函数,是求余计算:这
阅读全文
摘要:Dictionary类的基础是数组不是对象;字典的主要用途是通过键取值; 基本定义: 操作:demo 添加其他功能: 统计: function count() { return Object.keys(this.dataStore).length; } 清空: function clear() {
阅读全文
摘要:数组: 其他语言的数组缺陷:添加/删除数组麻烦; js数组的缺点:被实现为对象,效率低; 如果要实现随机访问,数组还是更好的选择; 链表: 结构图: 基本代码: function Node (elem) { this.elem = elem; this.next = null; } function
阅读全文
摘要:emberjs使用的测试工具为qunit.js: 加载:将runner.js添加到Index.html;大致内容: 其中ember-testing是显示原本页面的部分,通过runner.css来设置;在原本页面中将在url最后添加"?test"跳转到测试页面; test.js的基本结构: integ
阅读全文
摘要:队列是一种特殊的列表,数据结构为FIFO; 定义: 例子: 舞伴分配: demo; 基数排序:demo; 优先队列:demo;
阅读全文
摘要:在测试中,如果用到了大量相同的方法返回判断结果,可以将他们简化; 使用push(): 例子: 通过rul筛选:在URL上添加?filter=name-of-test
阅读全文
摘要:原子性: 当将许多测试用例放到一起测试的时候,可能会因为相互的副作用而出错;这个时候应该尽可能将他们分别放到test()中测试; 对应测试到Dom,应该尽可能地使用#qunit-fixture,因为它会在一次测试完之后自动清除绑定; 分组测试: 在将测试分割之后,考虑到逻辑性,可能需要将他们进行分组
阅读全文
摘要:模拟操作: elem.trigger(event); elem.triggerHandler(event); triggerHandler的不同: 不会引起事件的默认行为 .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
阅读全文
摘要:同步: 有时候如果我们想判断方法执行的次数,可以通过间接设置expect(n);//可以将expect的参数放到test的第二参数来简化; 同理,除了方法执行次数外,还可以判断事件发生次数; 异步: 在异步上,需要使用asyncTest替代test;同时使用start方法标记,当异步方法返回之后继续
阅读全文
摘要:QUnit是一个前端测试工具。 判断效果: html基本结构: js基本结构: 判断方法:测试就是要对目标进行判断,qunit中的判断方法主要有: ok(boolean,"info"); QUnit.test( "ok test", function( assert ) { assert.ok( t
阅读全文
摘要:栈是一种特殊的列表,数据结构为LIFO; 定义: 例子:数制转换(2-9): demo 回文判断:demo 模拟递归:demo
阅读全文
摘要:在某些情况下,我们需要根据数据生成某些效果;由于每个模版的controller可能不同,在不同页面之间跳转可能会无法随即更新的问题。 controller: 直接使用标签:{{}},适用于在子项目内切换的时候及时更新; view: 使用didInsertElement: 适用于在其他页面切换到当前v
阅读全文
摘要:列表: 定义:一组有序的数据; 方法: append:添加数据 append:添加数据 function append(element) { this.dataStore[this.listSize++] = element; } function append(element) { this.da
阅读全文
摘要:JS中数组: 只是一种特殊的对象,比其他语言中效率低; 属性是用来表示偏移量的索引;在JS中,数字索引在内部被转化为字符串类型(这也是为什么写对象属性的时候可以不叫引号),因为对象中的属性必须是字符串类型; 操作: 判断:isArray(); 复制: 浅复制: var arr1 = arr2; 浅复
阅读全文
摘要:如下代码会根据model产生不同的table项,在进行其他设置后,一般是根据id来跳转到相应项目子项中; 这时候我们可能需要一额外的按钮而不是直接点击连接进行子项目的前进与后退,可采用如下方法: 方法1: 在对应controller内设置: 然后在相应模版中设置: 方法2: 在对应controlle
阅读全文
摘要:在已经设置route的情况下,以table为例,可以如下设置,范围为对应的模版; 也可以通过如下新建,其获得的this为所在模版的this; 简单设置: 设置整体的标签: tagName 设置class: classNames:[](适合固定值); classNameBinds[](这个要通过其他属
阅读全文
摘要:主要用于方便绘制图标,注意是需要付费的; 相关连接: 官网 中文网 祛除自带标识的代码: 去掉线上的点: plotOptions: { series: { marker: { enabled: false } } }, 可能出现的异常
阅读全文
摘要:计算模型:源于对计算过程的不同认识; 1.基于不同计算模型一般分为://教科书的一般分类 命令式语言; 函数式语言; 逻辑式语言; 面向对象程序设计语言; 2.基于程序本质分类: //编程的经典法则:算法+数据结构=程序; 命令式: //基于数据结构 结构化编程(冯诺依曼:计算机系统以存储和处理为核
阅读全文
摘要:实例创建:obj = new contructor[(arguments)]; //如果没有参数可以忽略括号;所以注意这不是函数调用; 直接量与初始器:在之前的基本表达式中将直接量与初始器分开,这时因为直接量的声明中不包括运算过程,而初始器的声明中可以包括运算过程。 直接量:一般分为6种,包括正则表
阅读全文
摘要:JS语句分类:(注意语句都是有返回值的) 声明语句: 变量声明语句; 标签声明语句; 函数声明语句; 表达式语句:(表达式加分号) 变量赋值语句:具有声明一个变量的隐式效果; 函数调用语句; 属性赋值语句; 方法调用语句; 分支语句: 条件分支语句; 多重分支语句; 循环语句: for() for.
阅读全文
摘要:表达式:由运算符和运算元构成;JS中没有运算符的表达式称为单值表达式;没有运算元,孤立与代码上下文的运算符是不符合语法的;(表达式是有返回值的) 单值表达式: this引用; 变量引用; 直接量: null undefined 字符串 布尔值 数值 正则表达式 null undefined 字符串
阅读全文
摘要:标识符: 命名: 语法以及类型 语法关键字 //逻辑 值(的存储位置) 变量和常量 //值 绑定://位置 语法关键字对位置的绑定 作用域限定 变量对位置的绑定 变量生存周期的限定 语法以及类型 语法关键字 //逻辑 值(的存储位置) 变量和常量 //值 语法关键字对位置的绑定 作用域限定 变量对位
阅读全文
摘要:除了之前介绍的将数组数据在一个页面中输出的方法,还可以将数组数据分组,按照点击,在不同页面中分别显示,方法为: Model: 例如:Table Router: 设置一个父对象和子对象设置: Route: Template: tables: table: 单个对象输出方式 Controller: 注意
阅读全文
摘要:说明:属性值绑定(属性值有无引号都可以) 如果是非布尔值: 如果是布尔值: isEnable:enabled; isEnable:enabled:disabled; isEnable::disabled;
阅读全文
摘要:在模版中写好响应操作触发的action之后,可以在controller:actions中设置了,需要注意的是对数据的操作一般都是对单个object进行操作,所以先要使用笔记1中的方法使用ObjectController。 新增并存储数据: 模版中可以设置 来进行双向绑定,在控制器actions 中设
阅读全文
摘要:ember中数据一般都是以array的形式存储的,控制器使用,如: 想要在一个页面中输出所有的数据,可以在模版中使用{{#each}}输出Aarray的每个Object,这时时候可能需要对每个Object进行操作,使用ObjectController;可以在每个each中使用itemControll
阅读全文
摘要:在使用前端框架构建网页而不使用后端平台与数据库,即没有服务器的条件下读取文件夹其他文件,浏览器可能会阻止访问。对于这种静态构建可以使用简单的生成工具jekyll.它主要适用于将静态文件生成静态网站,在github pages上非常常用。 介绍:jekyll 注意, 先要安装ruby; window平
阅读全文

浙公网安备 33010602011771号