JavaScrpit基础入门

JavaScript 是一种用于网页开发的脚本语言,它主要用于增强网页的交互性和动态性。HTML 用于定义网页的结构,包括文本、图像、链接等内容,而 CSS 用于定义网页的样式,包括颜色、布局、字体等。JavaScript 通过与 HTML 和 CSS 结合使用,可以实现各种动态效果和交互功能,例如表单验证、页面动画、用户界面更新等。

HTML、CSS 和 JavaScript 通常一起使用,共同构建出现代网页的完整体验。HTML 负责网页结构,CSS 负责网页样式,JavaScript 负责网页的行为和交互。三者之间的协作使得开发者能够创建出丰富、动态、交互性强的网页。

一、引入方式

在 HTML 中引入 JavaScript 有两种常见的方式:内部引入和外部引入。

  1. 内部引入:在 HTML 文件的 <head><body> 标签中,使用 <script> 标签来嵌入 JavaScript 代码。示例如下:
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>// 这里写内部的 JavaScript 代码console.log("Hello, world!");</script>
    </head>
    <body><!-- 其他 HTML 内容 -->
    </body>
    </html>
    
  2. 外部引入:将 JavaScript 代码保存在一个独立的 .js 文件中,然后在 HTML 文件中通过 <script> 标签引入外部 JavaScript 文件。示例如下:
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 引入外部 JavaScript 文件 --><script src="script.js"></script>
    </head>
    <body><!-- 其他 HTML 内容 -->
    </body>
    </html>
    

无论是内部引入还是外部引入,都可以在 HTML 文件中通过 <script> 标签来加载 JavaScript 代码,实现网页的交互和动态效果。

二、基础语法

1. 变量声明

在 JavaScript 中,你可以使用 varletconst 来声明变量。

  • 使用 var:在整个函数范围内声明变量,如果在函数外部声明,则为全局变量。
  • 使用 let:在块级作用域内声明变量,只在声明的块中有效。
  • 使用 const:在块级作用域内声明一个只读的常量。
    var x = 10;
    let y = 20;
    const PI = 3.14;
    
2. 数据类型

JavaScript 中的数据类型包括基本数据类型和复杂数据类型:

  • 基本数据类型:包括数字(Number)、字符串(String)、布尔值(Boolean)、null、undefined。
  • 复杂数据类型:包括对象(Object)、数组(Array)、函数(Function)等。
    let numberVar = 10;
    let stringVar = "Hello, world!";
    let booleanVar = true;
    let nullVar = null;
    let undefinedVar;
    

3. 运算符

JavaScript 支持多种运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符等。

  • 算术运算符+-*/% 等。
  • 赋值运算符=+=-=*=/= 等。
  • 比较运算符=====!=!==><>=<= 等。
  • 逻辑运算符&&(与)、||(或)、!(非)等。
    let a = 10;
    let b = 5;
    let c = a + b; // 算术运算符
    let d = a > b; // 比较运算符
    let e = true && false; // 逻辑运算符
    
4.对象的创建与使用

在 JavaScript 中,对象是非常核心的数据结构,用于存储各种键值对的集合。对象可以包含多种类型的数据,包括数值、字符串、布尔值、函数、甚至其他对象。

JavaScript 对象可以通过对象字面量的方式直接定义,也可以使用构造函数来创建。

对象字面量
let person = {firstName: "John",lastName: "Doe",age: 30,greet: function() {console.log("Hello, " + this.firstName + " " + this.lastName);}
};
构造函数
function Person(firstName, lastName, age) {this.firstName = firstName;this.lastName = lastName;this.age = age;this.greet = function() {console.log("Hello, " + this.firstName + " " + this.lastName);};
}let person = new Person("John", "Doe", 30);
访问对象属性和方法

对象的属性和方法可以通过点符号(.)或方括号([])来访问。

// 使用点符号
console.log(person.firstName); // 输出 "John"
person.greet(); // 调用方法,输出 "Hello, John Doe"// 使用方括号
console.log(person['lastName']); // 输出 "Doe"
person['greet'](); // 调用方法,输出 "Hello, John Doe"
修改和添加属性

你可以通过简单的赋值操作来修改对象的属性或添加新的属性。

person.age = 31; // 修改已存在的属性
person.gender = "male"; // 添加新的属性
删除属性

使用 delete 关键字可以删除对象的属性。

delete person.age; // 删除 age 属性
对象的复杂性

对象可以包含其他对象,形成嵌套结构,也可以包含数组和函数。例如:

let person = {name: "John",address: {street: "123 Main St",city: "New York"},hobbies: ["reading", "movies"],greet: function() {console.log("Hello, I'm " + this.name);}
};console.log(person.address.city); // 输出 "New York"
person.greet(); // 输出 "Hello, I'm John"

 三、函数的申明与使用

在 JavaScript 中,函数是一种执行特定任务或计算值的代码块。它们是实现代码重用、模块化和抽象化的基本工具。

函数可以通过几种不同的方式声明:

  1. 函数声明(Function Declaration)
    function sayHello() {console.log("Hello, world!");
    }
    
  2. 函数表达式(Function Expression)
    function sayHello() {console.log("Hello, world!");
    }
    
  3. 箭头函数(Arrow Function) - ES6 引入了箭头函数,提供了一种更简洁的方式来写函数:
    function sayHello() {console.log("Hello, world!");
    }
    

    调用函数

    function add(a, b) {return a + b;
    }let result = add(5, 3);  // result 将得到 8
    console.log(result);
    
    4. 高阶函数

    JavaScript 支持高阶函数,即函数可以接受其他函数作为参数或者返回一个函数。

    function higherOrderFunction(callback) {console.log("Something before the callback.");callback();console.log("Something after the callback.");
    }higherOrderFunction(() => {console.log("This is the callback function.");
    });
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型中的Tokenizer

在使用GPT 、BERT模型输入词语常常会先进行tokenize 。 tokenize的目标是把输入的文本流&#xff0c;切分成一个个子串&#xff0c;每个子串相对有完整的语义&#xff0c;便于学习embedding表达和后续模型的使用。 一、粒度 三种粒度&#xff1a;word/subword/char word词&a…

【云原生】Kubernetes----POD调度策略

目录 引言 一、Pod调度策略 &#xff08;一&#xff09;基本概述 &#xff08;二&#xff09;调度原则 &#xff08;三&#xff09;Predicate常见算法 &#xff08;四&#xff09;优先级排序 &#xff08;五&#xff09;调度过程 1.过滤阶段 2.优先级排序 3.选择最优…

raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像

raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像 文章目录 前言准备工作拉取镜像编写Dockerfile编译docker镜像启动镜像docker-compose文件编写总结前言 这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以…

大模型部署推理应用技术浅析

大模型完成预训练后不是就万事大吉了&#xff0c;离推理应用还有很大距离&#xff0c;需要经过微调、部署等一系列工程化工作。尤其是在2B的行业大模型应用中&#xff0c;为解决大模型的幻觉、时效性和推理成本问题&#xff0c;需要建立单一模型之上的体系。模型部署中的技术大…

使用uniapp开发支付宝小程序时引入卡包插件

1、官网文档 https://opendocs.alipay.com/pre-open/03k88a?pathHash30ce86a9 2、代码开发 //manifest.json 配置文件添加卡包插件 "mp-alipay": {"usingComponents": true,"appid": "xxxxxxxxxxxxxxxxx","plugins": {&…

深入理解Seata:分布式事务的解决方案

在现代的微服务架构中&#xff0c;随着业务系统的不断拆分和模块化&#xff0c;分布式事务成为一个重要的挑战。为了解决微服务架构下的分布式事务问题&#xff0c;Seata应运而生。Seata&#xff08;Simple Extensible Autonomous Transaction Architecture&#xff09;是一款开…

Windows找出权限维持的后门

Windows权限维持主要包含活动隐藏、自启动等技术。 隐藏文件 利用文件属性 最简单的一种隐藏文件的方式&#xff0c;文件右键属性&#xff0c;勾选隐藏&#xff0c;点击确定后&#xff0c;在这个文件里看不到刚刚的文件了。 如果要让文件显示出来&#xff0c;就点击查看&…

C++:round函数用法

C&#xff1a;round函数用法 C&#xff1a;round函数用法 正常用法 对于小数而言&#xff0c;round()函数仅仅保留到整数位&#xff0c;即仅仅对小数点后一位四舍五入 round(1.5)2.000000 round(1.56)2.000000 round(-1.5)-2.000000 round(-1.56)-2.000000保留小数用法 如果…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据&#xff0c;可以体现出一个文本中词频的使用情况&#xff0c;有利于文本分析&#xff0c;通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章&#xff0c;分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

着色器技术在AI去衣中的魔法般的作用

引言&#xff1a; 在数字图像处理的世界中&#xff0c;AI去衣技术正逐步成为研究的前沿。它利用人工智能的强大能力&#xff0c;实现对图像中衣物的智能识别与处理。在这一过程中&#xff0c;着色器&#xff08;Shader&#xff09;技术扮演了至关重要的角色。本文将深入探讨着色…

【VTKExamples::Utilities】第十五期 ShepardMethod

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ShepardMethod,并解析接口vtkShepardMethod,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

没有可用软件包 docker-ce。 错误:无须任何处理

特么的各种百度查看&#xff0c;全是一些废话&#xff01;&#xff01;&#xff01;centos7安装不上docker&#xff0c;都是老的代码了&#xff1a; yum install docker-ce 解决方案&#xff1a; # CentOS yum install docker-io

error: ‘return’ with no value, in function returning non-void [-Werror]

解释&#xff1a;返回没有值&#xff0c;但是函数返回时非空的&#xff1b; 处理方法&#xff1a; 1&#xff1a;关闭 warning转error的编译选项&#xff0c;“-Wall -Werror”; 2&#xff1a;根据函数定义&#xff0c;给函数设置对应返回值&#xff1b; 报错代码示例 void *…

深度学习之CNN卷积神经网络

一.卷积神经网络 1. 导入资源包 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn import tensorflow as tf from tensorflow import keras注&#xff1a;from tensorflow import keras&#xff1a;从TensorFlow库中导入Keras模块&am…

【Unity之FGUI】白仙章Fairy GUI控件详解二

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;就业…

《征服数据结构》双向链表

摘要&#xff1a; 1&#xff0c;双链表的介绍 2&#xff0c;双链表的用途 3&#xff0c;双链表的节点插入和删除 1&#xff0c;双链表的介绍 前面我们讲过单链表&#xff0c;单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多&#xff0c;比如删除倒数第…

广东商标协会批复为世界酒中国菜的指导单位

广东商标协会批复荐酒师公司成为“世界酒中国菜”活动指导单位 一、批复背景与意义 广东商标协会正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。该活动旨在共建“一带一路”倡议、助力“乡村振兴…

Unity射击游戏开发教程:(28)敌人被摧毁时掉落的能量提升

在这篇文章中,我将介绍如何在敌人被摧毁时产生能量提升。 首先,有一个生成管理器,负责生成敌人和能量提升。我正在对其进行转换,以便当敌人被摧毁时,有可能会掉落能量。本文将仅介绍当敌人被摧毁时掉落的能量道具。我将介绍为电源添加一个平衡的生成系统。 Spawn Manager…

最简单的 UDP-RTP 协议解析程序

最简单的 UDP-RTP 协议解析程序 最简单的 UDP-RTP 协议解析程序原理源程序结果下载链接参考 最简单的 UDP-RTP 协议解析程序 本文介绍网络协议数据的处理程序。网络协议数据在视频播放器中的位置如下所示。 本文中的程序是一个 UDP/RTP 协议流媒体数据解析器。该程序可以分析 …

Sqli-labs-master靶场1-20通关教程

目录 SQL注入基本语句 Less-1&#xff08;字符型-闭合 &#xff09; Less-2&#xff08;数字型&#xff09; Less-3&#xff08;字符型-闭合 ) &#xff09; Less-4&#xff08;字符型-闭合 ") &#xff09; Less-5&#xff08;报错注入-闭合 &#xff09; Less-…