1// â 2// JavaScript ãªãã¸ã§ã¯ãï¼ã¯ã©ã¹ï¼ãç¶æ¿ãããããã®å¦ç 3// 4// [ä½¿ç¨æ¹æ³] 5// åã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿å ã§ãå½é¢æ°ãå¼ã¶ã 6// 7// // 親ã¯ã©ã¹ã®å®ç¾© 8// var OyaClass = function(a, b) { 9// this.a = âa'; 10// this.b = 'b'; 11// } 12// $.extend(OyaClass.prototype, { 13// method1 : function() { 14// ..... 15// }, 16// method2 : function() { 17// ..... 18// } 19// }); 20// 21// // åã¯ã©ã¹ã®å®ç¾© 22// var KoClass = function(a, b, c) { 23// // ===== ããã§å½é¢æ°ãã³ã¼ã« ===== 24// class_extend(this, OyaClass, [a, b]); 25// 26// // åã¯ã©ã¹ç¬èªã®ã¡ã³ã 27// this.b = 'override b'; // ã¡ã³ã夿°ã®ãªã¼ãã¼ã©ã¤ã 28// this.c = 'c'; 29// } 30// $.extend(KoClass.prototype, { 31// method1 : function() { // ã¡ã½ããã®ãªã¼ãã¼ã©ã¤ã 32// ..... 33// }, 34// method3 : function() { 35// ..... 36// } 37// }); 38// 39// [使ç¨ã«ããã£ã¦ã®æ³¨æäºé ] 40// ï¼ï¼ã³ã³ã¹ãã©ã¯ã¿ã§ããããã¿ã¤ãå ã®ã¡ã½ãããå¼ã³åºããããã¦ã¯ãããªã 41// ï¼ï¼ã³ã³ã¹ãã©ã¯ã¿ã§å®ç¾©ããã¡ã³ã夿°ã¯ãå½é¢æ°ãã³ã¼ã«ããå¾ã«å®ç¾©ããã㨠42// ï¼ï¼ã¡ã½ããããªã¼ãã¼ã©ã¤ãããå ´åã親ã¡ã½ãããã³ã¼ã«ãããã¨ã¯ã§ããªãã®ã§æ³¨æ 43// 44 45/** 46 * JavaScript ãªãã¸ã§ã¯ãï¼ã¯ã©ã¹ï¼ãç¶æ¿ãããããã®å¦ç 47 * 48 * @param {this} koClassThis åã¯ã©ã¹ã®this 49 * @param {class} oyaClass 親ã¯ã©ã¹ï¼ã³ã³ã¹ãã©ã¯ã¿ï¼ 50 * @param {array} koClassArgs åã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã®å¼æ°ã®é å 51 */ 52function class_extend(koClassThis, oyaClass, koClassArgs) { 53 var method = ''; 54 55 // åã¯ã©ã¹ã®thisã®å ã¨ãªãã¯ã©ã¹ï¼åã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ï¼ãå¾ã 56 var koClassConstructor = koClassThis.constructor; 57 58 // 親ã¯ã©ã¹ã®ãããã¿ã¤ãå ã®ã¡ã½ããããåã¯ã©ã¹ã®ãããã¿ã¤ãã«ã³ãã¼ãã 59 for (method in oyaClass.prototype) { 60 // åã¯ã©ã¹ã®ãããã¿ã¤ãå ã«ã親ã¯ã©ã¹ã¨åãååã®ã¡ã½ããããªãå ´åã«ã 61 // åã¯ã©ã¹ã®ãããã¿ã¤ãã«ã³ãã¼ãã 62 if (!koClassConstructor.prototype[method]) { 63 koClassConstructor.prototype[method] = oyaClass.prototype[method]; 64 } 65 } 66 67 // 親ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã apply ã使ç¨ãã¦å¼ã³åºã 68 // ããã«ããã親ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã®thisããåã¯ã©ã¹ã®thisã¨ãã¦å¼ã³åºããã 69 // ãã£ã¦ãä¸ç«¯ã親ã¯ã©ã¹ã®ã¡ã³ã夿°ãthisã«ã»ãããããããå½é¢æ°ãæããå¾ãåã¯ã©ã¹ã® 70 // ã³ã³ã¹ãã©ã¯ã¿å ã®ã¡ã³ã夿°ãã»ãããããããæçµçã«ã¯åã¯ã©ã¹ã®ã¡ã³ã夿°ãåªå ããã 71 oyaClass.apply(koClassThis, koClassArgs); 72}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.