B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 17|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

JSÇÉÃîµØ×éºÏʹÓø÷ÖÖÌõ¼þÓï¾ä

[¸´ÖÆÁ´½Ó]

1015

Ö÷Ìâ

1020

Ìû×Ó

7337

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7337
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
JSÇÉÃîµØ×éºÏʹÓø÷ÖÖÌõ¼þÓï¾ä
JSÇÉÃîµØ×éºÏʹÓø÷ÖÖÌõ¼þÓï¾ä B2BÍøÂçÈí¼þ

JSÇÉÃîµØ×éºÏʹÓø÷ÖÖÌõ¼þÓï¾ä B2BÍøÂçÈí¼þ

  1. /**
  2. * ¸´ÔÓÌõ¼þÓï¾äʾÀý - Ô±¹¤¼¨Ð§ÆÀ¹ÀºÍ½±½ð¼ÆËãϵͳ
  3. * չʾ ES5 ¼æÈݵĸ´ÔÓÌõ¼þÂß¼­ÊµÏÖ
  4. * ÊÊÓÃÓÚ AIWROK IDE ºÍ Rhino ÒýÇæ»·¾³
  5. *🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
  6. */

  7. // Ô±¹¤ÐÅÏ¢¹¹Ô캯Êý£¨ES5 ¼æÈÝ£©
  8. function Employee(name, department, position, yearsOfService) {
  9.     this.name = name;
  10.     this.department = department;
  11.     this.position = position;
  12.     this.yearsOfService = yearsOfService;
  13.     this.performanceScore = 0;
  14.     this.bonusRate = 0;
  15.     this.baseSalary = 0;
  16. }

  17. // ¼¨Ð§ÆÀ¹Àϵͳ
  18. var PerformanceEvaluator = {
  19.    
  20.     // ¼ÆËã»ù´¡¼¨Ð§·ÖÊý
  21.     calculateBaseScore: function(employee) {
  22.         var score = 0;
  23.         
  24.         // ʹÓà switch Óï¾ä¸ù¾Ý²¿ÃÅÉèÖûù´¡·ÖÊý
  25.         switch (employee.department) {
  26.             case "¼¼Êõ²¿":
  27.                 score = 85;
  28.                 break;
  29.             case "ÏúÊÛ²¿":
  30.                 score = 80;
  31.                 break;
  32.             case "Êг¡²¿":
  33.                 score = 82;
  34.                 break;
  35.             case "ÈËʲ¿":
  36.                 score = 78;
  37.                 break;
  38.             default:
  39.                 score = 75;
  40.         }
  41.         
  42.         return score;
  43.     },
  44.    
  45.     // ¸ù¾Ýְλµ÷Õû·ÖÊý
  46.     adjustScoreByPosition: function(baseScore, position) {
  47.         var adjustedScore = baseScore;
  48.         
  49.         // ʹÓà if...else if...else ½øÐжàÌõ¼þÅжÏ
  50.         if (position === "¾­Àí") {
  51.             adjustedScore += 10;
  52.         } else if (position === "Ö÷¹Ü") {
  53.             adjustedScore += 7;
  54.         } else if (position === "¸ß¼¶¹¤³Ìʦ") {
  55.             adjustedScore += 5;
  56.         } else if (position === "Öм¶¹¤³Ìʦ") {
  57.             adjustedScore += 3;
  58.         } else {
  59.             adjustedScore += 1;
  60.         }
  61.         
  62.         return adjustedScore;
  63.     },
  64.    
  65.     // ¸ù¾Ý¹¤Áäµ÷Õû·ÖÊý
  66.     adjustScoreByYears: function(score, years) {
  67.         var finalScore = score;
  68.         
  69.         // ¸´ÔÓµÄǶÌ×Ìõ¼þÅжÏ
  70.         if (years >= 10) {
  71.             if (years >= 15) {
  72.                 finalScore += 8;
  73.             } else {
  74.                 finalScore += 6;
  75.             }
  76.         } else if (years >= 5) {
  77.             if (years >= 8) {
  78.                 finalScore += 4;
  79.             } else {
  80.                 finalScore += 2;
  81.             }
  82.         } else if (years >= 2) {
  83.             finalScore += 1;
  84.         }
  85.         
  86.         return finalScore;
  87.     },
  88.    
  89.     // ×ÛºÏÆÀ¹ÀÔ±¹¤¼¨Ð§
  90.     evaluateEmployee: function(employee) {
  91.         var baseScore = this.calculateBaseScore(employee);
  92.         var positionAdjusted = this.adjustScoreByPosition(baseScore, employee.position);
  93.         var finalScore = this.adjustScoreByYears(positionAdjusted, employee.yearsOfService);
  94.         
  95.         // È·±£·ÖÊýÔÚºÏÀí·¶Î§ÄÚ
  96.         if (finalScore > 100) {
  97.             finalScore = 100;
  98.         } else if (finalScore < 0) {
  99.             finalScore = 0;
  100.         }
  101.         
  102.         employee.performanceScore = finalScore;
  103.         return finalScore;
  104.     }
  105. };

  106. // ½±½ð¼ÆËãϵͳ
  107. var BonusCalculator = {
  108.    
  109.     // ¸ù¾Ý¼¨Ð§·ÖÊý¼ÆËã½±½ð±ÈÀý
  110.     calculateBonusRate: function(performanceScore) {
  111.         var rate = 0;
  112.         
  113.         // ¸´ÔÓµÄÌõ¼þÁ´
  114.         if (performanceScore >= 95) {
  115.             rate = 0.5;  // 50% ½±½ð
  116.         } else if (performanceScore >= 90) {
  117.             rate = 0.4;  // 40% ½±½ð
  118.         } else if (performanceScore >= 85) {
  119.             rate = 0.3;  // 30% ½±½ð
  120.         } else if (performanceScore >= 80) {
  121.             rate = 0.2;  // 20% ½±½ð
  122.         } else if (performanceScore >= 75) {
  123.             rate = 0.1;  // 10% ½±½ð
  124.         } else {
  125.             rate = 0;    // ÎÞ½±½ð
  126.         }
  127.         
  128.         return rate;
  129.     },
  130.    
  131.     // ¸ù¾Ý²¿Ãŵ÷Õû½±½ð
  132.     adjustBonusByDepartment: function(baseRate, department) {
  133.         var adjustedRate = baseRate;
  134.         
  135.         // ʹÓà switch Óï¾ä´¦Àí²¿ÃÅÌØÊâÕþ²ß
  136.         switch (department) {
  137.             case "ÏúÊÛ²¿":
  138.                 // ÏúÊÛ²¿ÃÅÓжîÍ⼤Àø
  139.                 if (baseRate > 0) {
  140.                     adjustedRate += 0.1;
  141.                 }
  142.                 break;
  143.             case "¼¼Êõ²¿":
  144.                 // ¼¼Êõ²¿ÃÅÓÐÏîÄ¿½±½ð
  145.                 if (baseRate >= 0.3) {
  146.                     adjustedRate += 0.05;
  147.                 }
  148.                 break;
  149.             case "Êг¡²¿":
  150.                 // Êг¡²¿ÃÅÓм¾½ÚÐÔµ÷Õû
  151.                 var currentMonth = new Date().getMonth();
  152.                 if (currentMonth >= 9 && currentMonth <= 11) { // µÚËļ¾¶È
  153.                     if (baseRate > 0) {
  154.                         adjustedRate += 0.08;
  155.                     }
  156.                 }
  157.                 break;
  158.         }
  159.         
  160.         // È·±£½±½ð±ÈÀý²»³¬¹ý 60%
  161.         if (adjustedRate > 0.6) {
  162.             adjustedRate = 0.6;
  163.         }
  164.         
  165.         return adjustedRate;
  166.     },
  167.    
  168.     // ¼ÆËã×îÖÕ½±½ð
  169.     calculateBonus: function(employee, baseSalary) {
  170.         var baseRate = this.calculateBonusRate(employee.performanceScore);
  171.         var finalRate = this.adjustBonusByDepartment(baseRate, employee.department);
  172.         
  173.         employee.bonusRate = finalRate;
  174.         employee.baseSalary = baseSalary;
  175.         
  176.         return baseSalary * finalRate;
  177.     }
  178. };

  179. // Ô±¹¤·ÖÀàϵͳ
  180. var EmployeeClassifier = {
  181.    
  182.     // ¸ù¾Ý¼¨Ð§ºÍ¹¤Áä·ÖÀàÔ±¹¤
  183.     classifyEmployee: function(employee) {
  184.         var classification = "";
  185.         
  186.         // ¸´ÔÓµÄǶÌ×Ìõ¼þÅжÏ
  187.         if (employee.performanceScore >= 90) {
  188.             if (employee.yearsOfService >= 5) {
  189.                 classification = "ºËÐÄÔ±¹¤";
  190.             } else {
  191.                 classification = "¸ßDZÁ¦Ô±¹¤";
  192.             }
  193.         } else if (employee.performanceScore >= 80) {
  194.             if (employee.yearsOfService >= 8) {
  195.                 classification = "×ÊÉîÔ±¹¤";
  196.             } else if (employee.yearsOfService >= 3) {
  197.                 classification = "Îȶ¨Ô±¹¤";
  198.             } else {
  199.                 classification = "ÐÂÔ±¹¤";
  200.             }
  201.         } else if (employee.performanceScore >= 70) {
  202.             if (employee.yearsOfService >= 5) {
  203.                 classification = "´ýÌáÉýÔ±¹¤";
  204.             } else {
  205.                 classification = "¹Û²ìÔ±¹¤";
  206.             }
  207.         } else {
  208.             classification = "´ý¸Ä½øÔ±¹¤";
  209.         }
  210.         
  211.         return classification;
  212.     },
  213.    
  214.     // Éú³É¼¨Ð§±¨¸æ
  215.     generateReport: function(employee) {
  216.         var report = "¡¾Ô±¹¤¼¨Ð§±¨¸æ¡¿\n";
  217.         report += "ÐÕÃû: " + employee.name + "\n";
  218.         report += "²¿ÃÅ: " + employee.department + "\n";
  219.         report += "ְλ: " + employee.position + "\n";
  220.         report += "¹¤Áä: " + employee.yearsOfService + "Äê\n";
  221.         report += "¼¨Ð§·ÖÊý: " + employee.performanceScore + "·Ö\n";
  222.         report += "½±½ð±ÈÀý: " + (employee.bonusRate * 100) + "%\n";
  223.         report += "Ô±¹¤·ÖÀà: " + this.classifyEmployee(employee) + "\n";
  224.         
  225.         // ʹÓà switch Óï¾äÌí¼Ó½¨Òé
  226.         var classification = this.classifyEmployee(employee);
  227.         report += "\n¡¾·¢Õ¹½¨Òé¡¿\n";
  228.         
  229.         switch (classification) {
  230.             case "ºËÐÄÔ±¹¤":
  231.                 report += "- ¿¼ÂǽúÉý»ú»á\n";
  232.                 report += "- ¸³Óè¸ü¶à¹ÜÀíÖ°Ôð\n";
  233.                 report += "- Ìṩ¹ÉȨ¼¤Àø\n";
  234.                 break;
  235.             case "¸ßDZÁ¦Ô±¹¤":
  236.                 report += "- Ìṩרҵ¼¼ÄÜÅàѵ\n";
  237.                 report += "- °²Åŵ¼Ê¦Ö¸µ¼\n";
  238.                 report += "- ¸øÓèÌôÕ½ÐÔÏîÄ¿\n";
  239.                 break;
  240.             case "×ÊÉîÔ±¹¤":
  241.                 report += "- ¾­Ñé·ÖÏíºÍ´«³Ð\n";
  242.                 report += "- ²ÎÓëÖØÒª¾ö²ß\n";
  243.                 report += "- ±£³Ö¹¤×÷ÈÈÇé\n";
  244.                 break;
  245.             case "Îȶ¨Ô±¹¤":
  246.                 report += "- ÌáÉýרҵ¼¼ÄÜ\n";
  247.                 report += "- Ôö¼Ó¹¤×÷ÌôÕ½ÐÔ\n";
  248.                 report += "- Ö°Òµ·¢Õ¹¹æ»®\n";
  249.                 break;
  250.             case "´ýÌáÉýÔ±¹¤":
  251.                 report += "- ÖÆ¶¨¸Ä½ø¼Æ»®\n";
  252.                 report += "- Ìṩ±ØÒªÅàѵ\n";
  253.                 report += "- ¶¨ÆÚ¼¨Ð§»Ø¹Ë\n";
  254.                 break;
  255.             case "¹Û²ìÔ±¹¤":
  256.                 report += "- Ã÷È·¹¤×÷ÆÚÍû\n";
  257.                 report += "- Ìṩָµ¼Ö§³Ö\n";
  258.                 report += "- É趨¶ÌÆÚÄ¿±ê\n";
  259.                 break;
  260.             case "´ý¸Ä½øÔ±¹¤":
  261.                 report += "- ÖÆ¶¨Ïêϸ¸Ä½ø¼Æ»®\n";
  262.                 report += "- ¿¼ÂǸÚλµ÷Õû\n";
  263.                 report += "- ±ØÒªÊ±Æô¶¯PIPÁ÷³Ì\n";
  264.                 break;
  265.         }
  266.         
  267.         return report;
  268.     }
  269. };

  270. // Ö÷ÆÀ¹ÀÁ÷³Ì
  271. function evaluateEmployeePerformance(name, department, position, yearsOfService, baseSalary) {
  272.    
  273.     // ´´½¨Ô±¹¤¶ÔÏó
  274.     var employee = new Employee(name, department, position, yearsOfService);
  275.    
  276.     // ÆÀ¹À¼¨Ð§
  277.     var performanceScore = PerformanceEvaluator.evaluateEmployee(employee);
  278.    
  279.     // ¼ÆËã½±½ð
  280.     var bonus = BonusCalculator.calculateBonus(employee, baseSalary);
  281.    
  282.     // Éú³É·ÖÀà
  283.     var classification = EmployeeClassifier.classifyEmployee(employee);
  284.    
  285.     // Éú³É±¨¸æ
  286.     var report = EmployeeClassifier.generateReport(employee);
  287.    
  288.     // Êä³ö½á¹û
  289.     var result = report;
  290.     result += "\n¡¾½±½ðÐÅÏ¢¡¿\n";
  291.     result += "»ù´¡¹¤×Ê: ¥" + baseSalary + "\n";
  292.     result += "½±½ð½ð¶î: ¥" + bonus.toFixed(2) + "\n";
  293.     result += "×Üн×Ê: ¥" + (baseSalary + bonus).toFixed(2) + "\n";
  294.    
  295.     return result;
  296. }

  297. // ÅúÁ¿ÆÀ¹ÀʾÀý
  298. function batchEvaluateEmployees() {
  299.     var employees = [
  300.         {name: "ÕÅÈý", department: "¼¼Êõ²¿", position: "¸ß¼¶¹¤³Ìʦ", years: 6, salary: 15000},
  301.         {name: "ÀîËÄ", department: "ÏúÊÛ²¿", position: "¾­Àí", years: 8, salary: 20000},
  302.         {name: "ÍõÎå", department: "Êг¡²¿", position: "Ö÷¹Ü", years: 4, salary: 12000},
  303.         {name: "ÕÔÁù", department: "ÈËʲ¿", position: "רԱ", years: 2, salary: 8000},
  304.         {name: "Ç®Æß", department: "¼¼Êõ²¿", position: "¾­Àí", years: 12, salary: 25000}
  305.     ];
  306.    
  307.     var allResults = "¡¾ÅúÁ¿Ô±¹¤¼¨Ð§ÆÀ¹À½á¹û¡¿\n";
  308.     allResults += "========================================\n\n";
  309.    
  310.     for (var i = 0; i < employees.length; i++) {
  311.         var emp = employees[i];
  312.         allResults += evaluateEmployeePerformance(
  313.             emp.name,
  314.             emp.department,
  315.             emp.position,
  316.             emp.years,
  317.             emp.salary
  318.         );
  319.         allResults += "\n========================================\n\n";
  320.     }
  321.    
  322.     return allResults;
  323. }

  324. // ÑÝʾº¯Êý
  325. function demonstrateComplexConditionals() {
  326.    
  327.     console.log("=== ¸´ÔÓÌõ¼þÓï¾äʾÀý - Ô±¹¤¼¨Ð§ÆÀ¹Àϵͳ ===\n");
  328.    
  329.     // µ¥¸öÔ±¹¤ÆÀ¹ÀʾÀý
  330.     console.log("¡¾µ¥¸öÔ±¹¤ÆÀ¹ÀʾÀý¡¿");
  331.     var singleResult = evaluateEmployeePerformance("ÕÅÈý", "¼¼Êõ²¿", "¸ß¼¶¹¤³Ìʦ", 6, 15000);
  332.     console.log(singleResult);
  333.    
  334.     console.log("\n¡¾ÅúÁ¿Ô±¹¤ÆÀ¹ÀʾÀý¡¿");
  335.     var batchResult = batchEvaluateEmployees();
  336.     console.log(batchResult);
  337.    
  338.     // ÌØÊâÌõ¼þ²âÊÔ
  339.     console.log("¡¾±ß½çÌõ¼þ²âÊÔ¡¿");
  340.     var edgeCaseResult = evaluateEmployeePerformance("²âÊÔÔ±¹¤", "¼¼Êõ²¿", "ʵϰÉú", 0, 5000);
  341.     console.log(edgeCaseResult);
  342. }

  343. // Ö´ÐÐÑÝʾ
  344. demonstrateComplexConditionals();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-1-2 11:53 , Processed in 0.227611 second(s), 36 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí