JS基础语法

1. 变量

声明变量:使用varletconst关键字。

var name = "Alice";
let age = 25;
const country = "USA";
  • var声明的变量具有函数作用域或全局作用域。

  • let声明的变量具有块级作用域({}内有效)。

  • const声明的变量必须在声明时赋值,且之后不能再重新赋值,也具有块级作用域。

  • 变量命名

    • 可以使用字母、数字、下划线(_)和美元符号($)。

    • 变量名不能以数字开头。

    • 变量名是区分大小写的。

    • 保留字(如letclass等)不能用作变量名。

2. 数据类型

  • 基本数据类型

    • Number:整数和浮点数,如423.14

    • String:字符序列,用单引号(')、双引号(")或反引号(`)括起来,如"Hello"'World'`Hello, World!`

    • Booleantruefalse

    • Undefined:未定义的值。

    • Null:空值,表示一个空对象指针。

    • Symbol(ES6引入):表示唯一的标识符。

    • BigInt(ES11引入):任意精度的整数。

  • 引用数据类型

    • Object:对象的集合,可以是数组、函数等。

3. 运算符

  • 算术运算符+-*/%++--

  • 赋值运算符=+=-=*=/=%=

  • 比较运算符==!====!==><>=<=

  • 逻辑运算符&&||!

  • 位运算符&|^~<<>>>>>

4. 流程控制

  • 条件语句

    if (condition) {  
      // 当condition为true时执行的代码  
    } else if (otherCondition) {  
      // 当otherCondition为true时执行的代码  
    } else {  
      // 当以上条件都不满足时执行的代码  
    }
  • 循环语句

    • for循环

      for (let i = 0; i < 10; i++) {  
        console.log(i);  
      }
    • while循环

      let i = 0;  
      while (i < 10) {  
        console.log(i);  
        i++;  
      }
    • do...while循环

      let i = 0;  
      do {  
        console.log(i);  
        i++;  
      } while (i < 10);码
  • switch语句

    let fruit = "apple";  
    switch (fruit) {  
      case "banana":  
        console.log("Banana");  
        break;  
      case "apple":  
        console.log("Apple");  
        break;  
      default:  
        console.log("Unknown fruit");  
    }

5. 函数

  • 函数声明

    function sayHello(name) {  
      console.log("Hello, " + name);  
    }
  • 函数表达式

    const sayHello = function(name) {  
      console.log("Hello, " + name);  
    };
  • 箭头函数(ES6引入):

    const sayHello = (name) => {  
      console.log("Hello, " + name);  
    };  
    // 简写形式(当函数体只有一个表达式时)  
    const add = (a, b) => a + b;

6. 数组

  • 数组声明

    let fruits = ["Apple", "Banana", "Cherry"];  
    let numbers = [1, 2, 3, 4, 5];
  • 数组方法

    • push():向数组末尾添加一个或多个元素。

    • pop():移除数组末尾的元素。

    • shift():移除数组开头的元素。

    • unshift():向数组开头添加一个或多个元素。

    • concat():合并两个或多个数组。

    • slice():返回数组的一部分。

    • splice():添加/删除数组的元素。

    • indexOf():返回数组中某个元素的索引。

    • forEach():遍历数组。

7. 对象

  • 对象声明

    let person = {  
      name: "Alice",  
      age: 25,  
      greet: function() {  
        console.log("Hello, " + this.name);  
      }  
    };
  • 对象方法

    • 可以通过.操作符访问对象的属性和方法。

    • this关键字用于引用当前对象。

  • 构造函数

    function Person(name, age) {  
      this.name = name;  
      this.age = age;  
      this.greet = function() {  
        console.log("Hello, " + this.name);  
      };  
    }  
    let alice = new Person("Alice", 25);

8. ES6新特性

  • 模板字符串

    let name = "Alice";  
    let greeting = `Hello, ${name}!`;
  • 解构赋值

    let person = { name: "Alice", age: 25 };  
    let { name, age } = person;
  • 默认参数

    function greet(name = "Guest") {  
      console.log("Hello, " + name);  
    }
  • 扩展运算符

    let arr1 = [1, 2, 3];  
    let arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]

JavaScript应用

1. 客户端交互

表单验证

  • 使用JavaScript可以在用户提交表单之前验证输入数据,如检查电子邮件格式、确保必填字段不为空等。

动态内容更新

  • 通过AJAX(Asynchronous JavaScript and XML)技术,JavaScript可以从服务器获取数据并动态更新网页内容,而无需重新加载整个页面。

动画和效果

  • JavaScript可以与CSS结合使用,创建各种动画效果,如滑动、淡入淡出、缩放等,提升用户体验。

事件处理

  • JavaScript可以监听用户与网页的交互事件,如点击、悬停、键盘输入等,并根据事件执行相应的逻辑。

2. 服务器端开发(Node.js)

构建Web服务器

  • 使用Node.js和Express等框架,可以构建高性能的Web服务器,处理HTTP请求和响应。

文件操作

  • Node.js提供了强大的文件系统模块,允许JavaScript代码读取、写入、删除和移动服务器上的文件。

数据库操作

  • 通过Mongoose等ORM(对象关系映射)工具,JavaScript可以方便地操作MongoDB等NoSQL数据库,以及MySQL等关系型数据库。

API开发

  • Node.js非常适合构建RESTful API,为前端或其他服务提供数据接口。

3. 移动应用开发

React Native

  • 使用React Native框架,JavaScript开发者可以构建跨平台的移动应用,这些应用可以在iOS和Android设备上运行,并且具有接近原生应用的性能和用户体验。

Ionic

  • Ionic是另一个流行的框架,它允许使用HTML、CSS和JavaScript构建移动应用,并通过Apache Cordova等技术将应用打包为原生应用。

4. 游戏开发

Phaser

  • Phaser是一个开源的HTML5游戏框架,它提供了丰富的API和工具,使JavaScript开发者能够轻松创建2D游戏。

Three.js

  • Three.js是一个基于WebGL的JavaScript库,它允许开发者在浏览器中创建和显示3D图形,非常适合用于游戏开发、数据可视化等领域。

5. 桌面应用开发

Electron

  • Electron是一个使用Web技术(HTML、CSS和JavaScript)构建跨平台桌面应用的框架。通过Electron,开发者可以将Web应用打包为可在Windows、macOS和Linux上运行的桌面应用。

6. 物联网(IoT)

Node-RED

  • Node-RED是一个基于浏览器的可视化编程工具,它使用JavaScript(以及Node.js)来连接、处理和可视化物联网设备的数据。

MQTT协议

  • JavaScript可以通过MQTT协议与物联网设备进行通信,实现数据的实时传输和处理。


JS基础语法
http://localhost:8090//archives/jsji-chu-yu-fa
作者
文希希
发布于
2024年10月06日
许可协议