HTML
<a class="foo" href="#">Link</a>
CSSの場合
.foo a:hover {
color: red
// applicationCacheの更新を妨害する | |
Object.defineProperty(this,'applicationCache',{get:function(){return{}}}); | |
(function () { | |
// AppCache上でlocation.hrefを読み込むとAppCacheの内容を読み込むため、「ブラウザは別URLと認識するが、サーバは同じコンテンツを返すURL」を作る | |
contentLoad(location.href+'/'); | |
// 本来であればsubmit等のイベントもキャッチする必要がある | |
window.addEventListener('click', function (evn) { | |
var elem = evn.target; | |
while (elem.tagName.toLocaleLowerCase() != 'a') elem = elem.parentNode; |
{ | |
"type": "Program", | |
"body": [ | |
{ | |
"type": "VariableDeclaration", | |
"declarations": [ | |
{ | |
"type": "VariableDeclarator", | |
"id": { | |
"type": "Identifier", |
var Reflect = require('harmony-reflect'); | |
var handler = Reflect; | |
var get = Reflect.get; | |
handler.get = function (target, name, receiver) { | |
if (name in receiver === false) { | |
if (name !== 'inspect') { | |
receiver[name] = {}; | |
target[name] = {}; | |
} | |
} |
var foo = function (obj) { | |
return obj; | |
}; | |
var obj_a = {key: 'value'}; | |
// こんな呼び出し方でObjectの中身をいじりたい | |
foo(obj_a).key = 'overwrite'; | |
console.log(obj_a.key); // => overwrite |
var Reflect = require('harmony-reflect'); | |
var _ = require('underscore'); | |
var handler = Reflect; | |
handler.set = function(obj, prop, value) { | |
_.each(__prox__.targets, function (target) { | |
target[prop] = value; | |
}); | |
delete __prox__.targets; | |
delete obj; |
前頭極, Fp1,Fp2, 前部前頭葉: 1, 2 | |
前頭部, F3,F4, 運動野: 3, 4 | |
後側頭部, T5,T6, 後側頭葉: 5, 6 | |
後頭部, O1,O2, 視覚野: 7, 8 |
HTML
<a class="foo" href="#">Link</a>
CSSの場合
.foo a:hover {
color: red
var prox1 = new Proxy(); | |
prox1.get = function (target, key) { | |
if (!target[key]) return {}; | |
return target; | |
}; | |
var obj1 = prox1; | |
var obj2 = prox1; |
$ node --harmony foo.js | |
{ bar: 123 } | |
RangeError: Maximum call stack size exceeded |
$ ls | |
bower.json | |
package.json | |
public | |
.gitkeep |