//Using hasOwnProperty to build resilient object looping. Object.prototype.otherKey = "otherValue"; var object = { key: "value" }; for ( var prop in object ) { if ( object.hasOwnProperty( prop ) ) { assert( prop, "key","There should only be one iterated property." ); } } //XPath if ( typeof document.evaluate === "function" ) { function getElementsByXPath(expression, parentElement) { var results ..
//Exposing the properties of the katana object using with(){}. var use = "other"; var katana = { isSharp: true, use: function(){ this.isSharp = !this.isSharp; } }; with ( katana ) { assert( true, "You can still call outside methods." ); isSharp = false; use(); assert( use !== "other","Use is a function, from the katana object." ); assert( this !== katana,"this isn't changed - it keeps its origin..
function RegMerge() { var expr = []; for ( var i = 0; i < arguments.length; i++ ) expr.push( arguments[i].toString().replace(/^\/|\/\w*$/g, "") ); return new RegExp( "(?:" + expr.join("|") + ")" ); } var re = RegMerge( /Ninj(a|itsu)/, /Sword/, /Katana/ ); assert( re.test( "Ninjitsu" ),"Verify that the new expression works." ); assert( re.test( "Katana" ),"Verify that the new expression works." )..
* 함수의 사용 function isNimble(){ return true; } var canFly = function(){ return true; }; window.isDeadly = function(){ return true; }; //함내의 함수 function stealthCheck() { var ret = stealth() == stealth(); assert( ret, "함수함수!" ) return true; function stealth(){ return true; } } stealthCheck(); var obj = {}; var fn = function(){}; obj.prop = "some value"; fn.prop = "some value"; assert( obj.prop == fn..
1열 시접, 잔반, 밥과 국을 올리고, 편위에는 송편을 올려놓음 2열 어동육서(魚東肉西) : 생선은 동쪽, 고기는 서쪽 두동미서(頭東尾西) : 생선의 머리는 동쪽, 꼬리는 서쪽 3열 생선탕, 두부탕, 고기탕 등의 탕류를 놓음 4열 좌포우혜(左脯右醯) : 좌측 끝에는 포, 우측 끝에는 식혜 5열 조율이시(棗栗梨枾) : 왼쪽부터 대추, 밤, 배, 감 순으로 놓음 또는 홍동백서(紅東白西) : 붉은 과일은 동쪽, 흰 과일은 서쪽 차례상 준비시 유의점복숭아와 삼치, 갈치, 꽁치 등 끝에 ‘치’자가 든 것은 쓰지 않는다. 고춧가루와 마늘양념을 하지 않는다. 붉은 팥은 안쓰고 흰고물로 쓴다.