#api
##JSON Reference
var family = {
father: {
name: 'Jim',
son: {
'$ref': '$.son'
},
/** | |
* Custom Event | |
* | |
* @example | |
* <pre> | |
* function Foo() {} | |
* Foo.prototype.render = function() { | |
* this.fire('rendered'); | |
* }; | |
* EventTarget.mixin(Foo); |
(function(global) { | |
var type = (function() { | |
var cache = {}; | |
return function(obj) { | |
var key; | |
return obj === null ? 'null' // null | |
: obj === global ? 'global' // global | |
: (key = typeof obj) !== 'object' ? key // array, boolean, function, number, undefined | |
: obj.nodeType ? 'object' // DOM element | |
: cache[key = ({}).toString.call(obj)] // cached [object XXXX] |
#api
##JSON Reference
var family = {
father: {
name: 'Jim',
son: {
'$ref': '$.son'
},
#NanoDB Design (draft)
定位:跨应用,跨平台
##Creating Database
####Memory Database
创建内存数据库,只需要提供库名(此名字用于标识数据库在内存中的名字)和数据源(数据源为空则是一个空数据库)。数据源的来源不关心,只要是完整的JSON数据对象即可。
#NanoDB Design (draft)
定位:跨应用,跨平台
##Creating Database
####Memory Database
创建内存数据库,只需要提供库名(此名字用于标识数据库在内存中的名字)和数据源(数据源为空则是一个空数据库)。数据源的来源不关心,只要是完整的JSON数据对象即可。
function addEvent(el, type, handler) { | |
if (el.attachEvent) { // IE | |
// 为元素的事件类型创建一个哈希表 | |
el._events = el._events || {}; | |
if (!handler) { | |
return; | |
} | |
// 取得事件处理函数的数组的引用 | |
var handlers = el._events[type]; | |
if (handlers) { |
function substitute(str, obj) { | |
if (typeof str === 'string' && typeof obj === 'object') { | |
str = str.replace(/\{(\w+)\}/gi, function(s, k) { | |
return (typeof obj[k] === 'undefined') ? s : obj[k]; | |
}).replace(/(\\\{)|\\\}/g, function(s, k) { | |
return k ? '{' : '}'; | |
}); | |
} | |
return str; | |
} |
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation')
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
(function (exports) { | |
var settings = { | |
open: '<%', | |
close: '%>', | |
evaluate: '', | |
interpolate: '=' | |
}; | |
var matcher = new RegExp([ | |
settings.open, |
(function(exports) { | |
var idCounter = 0, | |
PREFIX = '_', | |
PREFIX_REG_EXP = new RegExp('^' + PREFIX + '+'); | |
var uniqueId = function(prefix) { | |
var id = ++idCounter + ''; | |
return prefix ? prefix + id : id; | |
}; |