YYPOST群发软件 发表于 7 天前

AIWROK软件语法运行小示例


AIWROK软件语法运行小示例







/*
本文件展示了 JavaScript 的核心概念和高级用法,适合初学者和进阶开发者学习。
🍎交流QQ群711841924群一,苹果内测群,528816639
语法运行小示例
*/

// 日志窗口配置(如需使用请取消注释)
logWindow.show()
logWindow.clear()
logWindow.setHeight(2500)
logWindow.setWidth(1500)
logWindow.setNoClickModel()

var globalCounter = 0;

function ComplexCalculator() {
    var instanceCounter = 0;
   
    this.add = function(a, b) {
      return a + b;
    };
   
    this.subtract = function(a, b) {
      return a - b;
    };
   
    this.multiply = function(a, b) {
      return a * b;
    };
   
    this.divide = function(a, b) {
      if (b === 0) {
            throw new Error("Division by zero is not allowed");
      }
      return a / b;
    };
   
    this.modulus = function(a, b) {
      if (b === 0) {
            throw new Error("Modulus by zero is not allowed");
      }
      return a % b;
    };
   
    this.getCounter = function() {
      instanceCounter++;
      return instanceCounter;
    };
}

var calculator = new ComplexCalculator();

function processData(inputData) {
    var result = {
      numbers: [],
      strings: [],
      objects: [],
      arrays: [],
      mixed: []
    };
   
    for (var i = 0; i < inputData.length; i++) {
      var item = inputData;
      
      if (typeof item === "number") {
            result.numbers.push(item);
      } else if (typeof item === "string") {
            result.strings.push(item);
      } else if (Array.isArray(item)) {
            result.arrays.push(item);
      } else if (typeof item === "object" && item !== null) {
            result.objects.push(item);
      } else {
            result.mixed.push(item);
      }
    }
   
    return result;
}

function createPerson(firstName, lastName, age, skills) {
    var person = {
      firstName: firstName,
      lastName: lastName,
      age: age,
      skills: skills || [],
      fullName: function() {
            return this.firstName + " " + this.lastName;
      },
      addSkill: function(skill) {
            this.skills.push(skill);
            return this.skills.length;
      },
      hasSkill: function(skill) {
            for (var i = 0; i < this.skills.length; i++) {
                if (this.skills === skill) {
                  return true;
                }
            }
            return false;
      },
      getSkillCount: function() {
            return this.skills.length;
      }
    };
   
    return person;
}

function arrayOperations(arr) {
    var operations = {
      sum: 0,
      average: 0,
      max: null,
      min: null,
      reversed: [],
      unique: []
    };
   
    if (arr.length === 0) {
      return operations;
    }
   
    for (var i = 0; i < arr.length; i++) {
      var value = arr;
      
      if (typeof value === "number") {
            operations.sum += value;
            
            if (operations.max === null || value > operations.max) {
                operations.max = value;
            }
            
            if (operations.min === null || value < operations.min) {
                operations.min = value;
            }
      }
    }
   
    operations.average = operations.sum / arr.length;
   
    for (var j = arr.length - 1; j >= 0; j--) {
      operations.reversed.push(arr);
    }
   
    var seen = {};
    for (var k = 0; k < arr.length; k++) {
      var item = arr;
      var key = String(item);
      if (!seen) {
            seen = true;
            operations.unique.push(item);
      }
    }
   
    return operations;
}

function stringManipulator(str) {
    var result = {
      original: str,
      uppercase: null,
      lowercase: null,
      reversed: "",
      words: [],
      characterCount: 0,
      wordCount: 0,
      hasNumbers: false
    };
   
    if (typeof str !== "string") {
      return result;
    }
   
    result.uppercase = str.toUpperCase();
    result.lowercase = str.toLowerCase();
    result.characterCount = str.length;
   
    for (var i = str.length - 1; i >= 0; i--) {
      result.reversed += str;
    }
   
    result.words = str.split(" ");
    result.wordCount = result.words.length;
   
    for (var j = 0; j < str.length; j++) {
      var charCode = str.charCodeAt(j);
      if (charCode >= 48 && charCode <= 57) {
            result.hasNumbers = true;
            break;
      }
    }
   
    return result;
}

function typeChecker(value) {
    var typeInfo = {
      value: value,
      type: typeof value,
      isNull: false,
      isUndefined: false,
      isArray: false,
      isObject: false,
      isFunction: false,
      isNumber: false,
      isString: false,
      isBoolean: false
    };
   
    if (value === null) {
      typeInfo.isNull = true;
    } else if (value === undefined) {
      typeInfo.isUndefined = true;
    } else if (Array.isArray(value)) {
      typeInfo.isArray = true;
    } else if (typeof value === "object") {
      typeInfo.isObject = true;
    } else if (typeof value === "function") {
      typeInfo.isFunction = true;
    } else if (typeof value === "number") {
      typeInfo.isNumber = true;
    } else if (typeof value === "string") {
      typeInfo.isString = true;
    } else if (typeof value === "boolean") {
      typeInfo.isBoolean = true;
    }
   
    return typeInfo;
}

function demonstrateCaseSensitivity() {
    var myVariable = "lowercase";
    var MyVariable = "MixedCase";
    var MYVARIABLE = "UPPERCASE";
   
    var result = {
      myVariable: myVariable,
      MyVariable: MyVariable,
      MYVARIABLE: MYVARIABLE,
      areAllDifferent: (myVariable !== MyVariable && MyVariable !== MYVARIABLE && myVariable !== MYVARIABLE)
    };
   
    return result;
}

function controlFlowDemo(score) {
    var grade = "";
    var message = "";
   
    if (score >= 90) {
      grade = "A";
      message = "Excellent performance!";
    } else if (score >= 80) {
      grade = "B";
      message = "Good job!";
    } else if (score >= 70) {
      grade = "C";
      message = "You passed.";
    } else if (score >= 60) {
      grade = "D";
      message = "You barely passed.";
    } else {
      grade = "F";
      message = "You failed.";
    }
   
    var dayOfWeek = "";
    switch (grade) {
      case "A":
            dayOfWeek = "Monday";
            break;
      case "B":
            dayOfWeek = "Tuesday";
            break;
      case "C":
            dayOfWeek = "Wednesday";
            break;
      case "D":
            dayOfWeek = "Thursday";
            break;
      case "F":
            dayOfWeek = "Friday";
            break;
      default:
            dayOfWeek = "Unknown";
    }
   
    return {
      score: score,
      grade: grade,
      message: message,
      dayOfWeek: dayOfWeek
    };
}

function loopExamples() {
    var numbers = ;
    var sum = 0;
    var evenNumbers = [];
    var oddNumbers = [];
   
    for (var i = 0; i < numbers.length; i++) {
      sum += numbers;
      
      if (numbers % 2 === 0) {
            evenNumbers.push(numbers);
      } else {
            oddNumbers.push(numbers);
      }
    }
   
    var factorial = 1;
    var n = 5;
    var counter = 1;
   
    while (counter <= n) {
      factorial *= counter;
      counter++;
    }
   
    var fibonacci = ;
    var fibLength = 10;
   
    while (fibonacci.length < fibLength) {
      var nextFib = fibonacci + fibonacci;
      fibonacci.push(nextFib);
    }
   
    return {
      numbers: numbers,
      sum: sum,
      evenNumbers: evenNumbers,
      oddNumbers: oddNumbers,
      factorial: factorial,
      fibonacci: fibonacci
    };
}

function errorHandlingDemo(a, b) {
    var result = {
      success: false,
      value: null,
      error: null
    };
   
    try {
      if (typeof a !== "number" || typeof b !== "number") {
            throw new TypeError("Both arguments must be numbers");
      }
      
      if (b === 0) {
            throw new Error("Cannot divide by zero");
      }
      
      result.value = a / b;
      result.success = true;
      
    } catch (error) {
      result.error = error.message;
      result.success = false;
    }
   
    return result;
}

function runAllExamples() {
    print.log("=== JavaScript 综合示例 ===\n");
   
    print.log("1. 计算器示例:");
    print.log("5 + 3 = " + calculator.add(5, 3));
    print.log("10 - 4 = " + calculator.subtract(10, 4));
    print.log("6 * 7 = " + calculator.multiply(6, 7));
    print.log("20 / 4 = " + calculator.divide(20, 4));
    print.log("调用次数: " + calculator.getCounter() + "\n");
   
    print.log("2. 数据处理示例:");
    var mixedData = , {name: "John"}, true, null, "World", 3.14];
    var processed = processData(mixedData);
    print.log("数字: " + processed.numbers);
    print.log("字符串: " + processed.strings);
    print.log("数组: " + JSON.stringify(processed.arrays));
    print.log("对象: " + JSON.stringify(processed.objects));
    print.log("其他: " + processed.mixed + "\n");
   
    print.log("3. 人员对象示例:");
    var person = createPerson("张", "三", 28, ["JavaScript", "Python"]);
    print.log("全名: " + person.fullName());
    print.log("添加技能前: " + person.skills);
    person.addSkill("Java");
    print.log("添加技能后: " + person.skills);
    print.log("是否有 JavaScript: " + person.hasSkill("JavaScript"));
    print.log("技能数量: " + person.getSkillCount() + "\n");
   
    print.log("4. 数组操作示例:");
    var numbers = ;
    var arrayOps = arrayOperations(numbers);
    print.log("原数组: " + numbers);
    print.log("总和: " + arrayOps.sum);
    print.log("平均值: " + arrayOps.average);
    print.log("最大值: " + arrayOps.max);
    print.log("最小值: " + arrayOps.min);
    print.log("反转: " + arrayOps.reversed);
    print.log("唯一值: " + arrayOps.unique + "\n");
   
    print.log("5. 字符串操作示例:");
    var strResult = stringManipulator("Hello World 123");
    print.log("原字符串: " + strResult.original);
    print.log("大写: " + strResult.uppercase);
    print.log("小写: " + strResult.lowercase);
    print.log("反转: " + strResult.reversed);
    print.log("单词: " + strResult.words);
    print.log("字符数: " + strResult.characterCount);
    print.log("单词数: " + strResult.wordCount);
    print.log("包含数字: " + strResult.hasNumbers + "\n");
   
    print.log("6. 类型检查示例:");
    var values = , {key: "value"}, function() {}];
    for (var i = 0; i < values.length; i++) {
      var typeInfo = typeChecker(values);
      print.log("值: " + JSON.stringify(values) + " | 类型: " + typeInfo.type);
    }
    print.log("");
   
    print.log("7. 大小写敏感示例:");
    var caseDemo = demonstrateCaseSensitivity();
    print.log("myVariable: " + caseDemo.myVariable);
    print.log("MyVariable: " + caseDemo.MyVariable);
    print.log("MYVARIABLE: " + caseDemo.MYVARIABLE);
    print.log("都不同吗? " + caseDemo.areAllDifferent + "\n");
   
    print.log("8. 控制流示例:");
    var controlResult = controlFlowDemo(85);
    print.log("分数: " + controlResult.score);
    print.log("等级: " + controlResult.grade);
    print.log("消息: " + controlResult.message);
    print.log("星期: " + controlResult.dayOfWeek + "\n");
   
    print.log("9. 循环示例:");
    var loopResults = loopExamples();
    print.log("数字: " + loopResults.numbers);
    print.log("总和: " + loopResults.sum);
    print.log("偶数: " + loopResults.evenNumbers);
    print.log("奇数: " + loopResults.oddNumbers);
    print.log("5的阶乘: " + loopResults.factorial);
    print.log("斐波那契数列: " + loopResults.fibonacci + "\n");
   
    print.log("10. 错误处理示例:");
    print.log("10 / 2:");
    var errorResult1 = errorHandlingDemo(10, 2);
    print.log("成功: " + errorResult1.success + ", 结果: " + errorResult1.value);
   
    print.log("10 / 0:");
    var errorResult2 = errorHandlingDemo(10, 0);
    print.log("成功: " + errorResult2.success + ", 错误: " + errorResult2.error);
   
    print.log("'abc' / 2:");
    var errorResult3 = errorHandlingDemo("abc", 2);
    print.log("成功: " + errorResult3.success + ", 错误: " + errorResult3.error);
}

runAllExamples();


页: [1]
查看完整版本: AIWROK软件语法运行小示例