• JavaScript快速入门


    目录

    1.概述

    2.引入方式

    3.调试

    4.基础语法

    4.1.变量

    4.2.常量

    4.3.运算符

    ​编辑

    4.4.流程控制

    4.4.1.顺序

    4.4.2.判断

    4.4.3.循环

    4.5.对象

    4.6.数组

    4.7.函数

    5.高级特性


    1.概述

    JavaScript ,简称js,是一种高级的编程语言,主要用于前端开发。很多地方都会说js是解释型语言,轻量级,所以被用在前端。但其实这种说法并不准确。

    这个世界上并没有绝对的解释型和编译型语言的存在,只是看在其工作的时候是用解释型的方式去执行它,还是编译型的方式去执行它。

    现代的 web 浏览器都内置了 JavaScript 引擎。这个引擎负责以解释而不是编译的方式来执行 JavaScript 代码,所以让js在前端工作起来非常的轻量级。

    2.引入方式

    1. 内部,在HTML页面上通过标签来写。
    2. 外部,外部定义好的js文件可以通过来引入。
    3. 内联(不推荐),直接在HTML元素的属性标签里写js,例如:

    3.调试

    js不像java有编译过程的存在,js在浏览器中是被解释执行的,也就是说没有编译过程,没办法进行debug。只能通过console.log()方法来在控制台打印结果,进行调试。以chrome浏览器为例,按F12打开开发者工具,在console中执行下面一段代码:

    会输出以下结果:

    4.基础语法

    4.1.变量

    JS是弱类型语言,变量的类型根据存储的值来确定。

    JS的变量有两种声明方式,var定义全局变量、let定义局部变量。

    1. var name="DasAuto":
    2. let age=25;
    3. console.log("name:"+name+"t"+"age:"+age);

    4.2.常量

    JS里用关键词const来声明常量。

    常量声明时赋值,赋值后不能改变。

    1. const sex="男";
    2. sex="女";
    3. console.log(sex);

    4.3.运算符

    js和Java一样,支持

    单目运算符:自加自减自乘自除

    双目运算符:加减乘除

    三目运算符:

    1. var name="DasAuto";
    2. let age=25;
    3. age=age>=25?1:0;
    4. console.log("name:"+name+"\t"+ "age:" +age);

    4.4.流程控制

    4.4.1.顺序

    这个就略过不表了吧,本篇文章的受众读者,应该都是有基础的。

    4.4.2.判断

    和JAVA一样,标准的if else/else if的格式。

    代码示例:

    1. var number=3;
    2. if(number==1){
    3. console.log("number is 1")}
    4. else if(number==2){
    5. console.log("number is 2");
    6. }else{
    7. console.log("number is 3");
    8. }

    4.4.3.循环

    和JAVA一样,支持while、do-while、for,三种循环

    1. while(true){
    2. }
    3. do{
    4. }while(true);
    5. for(let i=0;i<1;i++){console.log(i);

    4.5.对象

    JS的对象通过KV键值对的多元组来定义(“{ }”在JAVA中表示数组,在JS中表示元组),数组中可以嵌数组(对象中可以嵌对象)。可以通过对象.属性,访问属性,也可以通过访问数组下标的方式来访问属性,通过数组下标访问时k值为字符串类型。

    4.6.数组

    js的数组和Java的数组不同,js的数组不需要提前声明空间大小,每增加一个元素数组内部自动会开辟空间。

    1. //两种定义方式
    2. var a=new Array();
    3. var b=[];
    4. var c=[1,2,3];
    5. a[o]=1;
    6. b[0]=1;
    7. console.log(a[o]);console.log(b[o]);console.log(c[o]);
    8. //遍历数组
    9. for(let i=0;ilength;i++){
    10. console.log(c[i]);
    11. }
    12. //Js的数组具有栈的特点,可以进行压栈,出栈c.push[4];
    13. c.pop;

    4.7.函数

    关键字 函数名(参数列表){

            方法体

    }

    5.高级特性

    除了基础语法外,js有一些高级特性在编程中我们可能会较为常用到。

    1. 函数是第一类对象(First-Class Functions):

    在 JavaScript 中,函数被视为第一类对象。这意味着函数可以被赋值给变量,可以作为参数传递给其他函数,也可以作为其他函数的返回值。

    const add = function(a, b) { return a + b; };

    2. 高阶函数(Higher-Order Functions):

    高阶函数是能够接受函数作为参数或将函数作为返回值的函数。

    1. function operate(num, operation) {
    2. return operation(num);
    3. }
    4. const double = function(x) {
    5. return x * 2;
    6. };
    7. const square = function(x) {
    8. return x * x;
    9. };
    10. console.log(operate(5, double)); // 输出 10
    11. console.log(operate(3, square)); // 输出 9

    3. 异步编程和回调函数:

    JavaScript 通过回调函数(callbacks)、Promise 和 async/await 等方式支持异步编程,处理诸如网络请求、文件读取等非阻塞 I/O 操作。

    1. function fetchData(callback) {
    2. setTimeout(function() {
    3. const data = "Data fetched from server";
    4. callback(data);
    5. }, 2000);
    6. }
    7. function processData(data) {
    8. console.log("Processing data: " + data);
    9. }
    10. fetchData(processData); // 两秒后输出 "Processing data: Data fetched from server"

    4. Promise 和异步函数(Async/Await):

    Promise 是一种用于处理异步操作的对象,async/await 是用于更简洁地处理异步代码的语法糖。

    1. function fetchData() {
    2. return new Promise(function(resolve, reject) {
    3. setTimeout(function() {
    4. const data = "Data fetched from server";
    5. resolve(data);
    6. }, 2000);
    7. });
    8. }
    9. async function processData() {
    10. const data = await fetchData();
    11. console.log("Processing data: " + data);
    12. }
    13. processData(); // 两秒后输出 "Processing data: Data fetched from server"

  • 相关阅读:
    【知识科普】激光雷达(LiDAR)点云数据知多少?
    Java 类加载器 详解
    【libcurl】7.8.4 MT v142 构建
    《深入浅出OCR》第三章:OCR文字检测
    彻底搞懂Spring状态机原理,实现订单与物流解耦
    2.4 GHZ室内信道测量数据集
    [软考中级]软件设计师-知识产权
    手动实现SpringMVC底层机制
    通关GO语言02 数据类型:你必须掌握的数据类型有哪些?
    基于nRF7002-DK的NFC功能切换系统(nRF Connect SDK+NFC)
  • 原文地址:https://blog.csdn.net/Joker_ZJN/article/details/134066754