Js相关网站
- ECMAScript 6 入门 http://es6.ruanyifeng.com/#docs/promise
- Promise对象源码实现分析 : http://www.cnblogs.com/fsjohnhuang/p/4135149.html
- Angularjs $http对象的作用,使用方法: http://blog.youkuaiyun.com/u010834071/article/details/46360127
angularjs#scope
rootscope 是各个controller中scope的桥梁。用rootscope定义的值,可以在各个controller中使用。
1,通过var 直接定义global variable,这根纯js是一样的。
2,用angularjs value来设置全局变量 。
3,用angularjs constant来设置全局变量 。
h5 #sessionStorage
sessionStorage和localStorage是HTML5WebStorageAPI提供的,可以方便的在web请求之间保存数据。有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递。sessionStorage、localStorage、cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。sessionStorage是在同源的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的
禁止f5和右键按钮点击
<pre name="code" class="html">document.onkeydown = function (e) { var ev = window.event || e; var code = ev.keyCode || ev.which; if (code == 116) { ev.keyCode ? ev.keyCode = 0 : ev.which = 0; cancelBubble = true; return false; } } //禁止f5刷新 document.οncοntextmenu=function(){return false};//禁止右键刷新 现在ECMA5严格模式下无法使用callee caller arguments 和 caller 变量现在是 immutable(不可改变) 变量 所以caller callee在严格模式下已经被弃用了
javascript
#LTEvent
实现右键菜单自定义 http://www.cnblogs.com/snandy/archive/2011/03/09/1977789.html
bind() 方法介绍 : Javascript中bind()方法的使用与实现
Array.prototype.slice.call(arguments)
能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与com对象不能进行转换)ref
NodeJs
Express框架介绍
Express是目前最流行的基于nodejs的web开发框架。 全文>>认证DEPTH_ZERO_SELF_SIGNED_CERT
一般出现此种原因是因为使用了自生成的证书,一般正常流程是需要校验证书的有效性的,比如浏览器,如果不提供证书就会一直显示不安全的连接,只有通过导出证书,在再浏览器->证书管理,导入刚刚导出的证书,并且设置为可信任机构颁发的证书。
然而使用nodejs开发也是需要证书的,要么将浏览器导出的证书放在项目目录中,不然的话,只能通过在发起请求前面加上
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
来跳过证书校验
bcrypt hash
原生的bcrypt 依赖无法在window平台上方便的install(需要装python ,vs什么的),只能找个替代的。
https://npm.taobao.org/package/bcryptjs
https://github.com/dcodeIO/bcrypt.js
https://github.com/devtrw/angular-bcrypt/blob/master/src/bcrypt-service_test.js(支持angularjs)
Node base64加解码
var b = new Buffer('JavaScript');var s = b.toString('base64');// SmF2YVNjcmlwdA==var b = new Buffer('SmF2YVNjcmlwdA==', 'base64')var s = b.toString();// JavaScriptNPM install 太慢
1、使用cnpm配合淘宝registry加速。
2、使用其他工具,nvm etc
npm install -g cnpm --registry=https://registry.npm.taobao.org 然后 cnpm install [name]
https://cnodejs.org/topic/5338c5db7cbade005b023c98
つづく…