Javascript入门||基础篇

定义

一种运行在客户端(浏览器)的编程语言,实现人机交互效果

作用

  • 网页特效(监听用户的一些行为让网页做出对应的反馈)
  • 表单验证(针对表单数据的合法性进行判断)
  • 数据交互(获取后台数据,渲染到前端)
  • 服务器编程(node.js)

组成

  • ECMAScript:基础语法,如变量,循环,对象等
  • Web APi
  • DOM:操作文档,比如对页面元素进行移动
  • BOM:操作浏览器,比如页面弹窗,检测窗口宽度,储存数据到浏览器等

书写位置

内部JavaScript

  • 直接写在html标签里,用script标签包住
  • 规范:写在/body上面
  • 原因在于浏览器会按照代码在文件中的顺序加载HTML,如果先加载的javascript期望修改其下方的HTML,那么它可能由于HTML尚未被加载而失败

HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //
页面弹出警示框
        alert('你好,js')
    </script>
</body>
</html>

外部JavaScript

新建一个以.js文件结尾的文件

内联JavaSript

代码写在标签内部

HTML
<body>
    <button οnclick="alert('
逗你玩--')">点击领奖</button>
 </body>

 

输出语法

语法1document.write

作用:向body内输出内容

注意:如果输出的内容写的是标签,也会被解析成网页元素

HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

   
</head>
<body>
    <script>
            document.write('hey')
            //
输出hello world 
            document.write("<h1>hello world</h1>")
    </script>
</body>
</html>

语法2alret

页面弹出警告对话框

语法3console.log

控制台输出语法,程序员调试使用

输入语法

Prompt

作用:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字

注:alert和prompt会跳过页面渲染先被执行

变量

定义

变量是计算机中用来存储数据的容器,它可以让计算机变得有记忆

注意:变量不是数据本身,仅仅是一个用于存储数据的容器

基本使用

声明

JavaScript
let 变量名

声明变量由两部分构成:声明关键字,变量名

变量声明要有意义

小驼峰命名法

第一个单词首字母小写,第二个单词首字母大写,userName

赋值

JavaScript
let age = 18

等号两边要有空格

数组

Array

JavaScript
let arr = [数据1,数据2,数据3]

常量

Const

常量不允许重新赋值

运算,判断与循环

注:运算,判断与循环的语法与C相同

并且支持自增和自减

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>
</head>
<body>
    <script>
        let a = 1, b = 1
        for(let i = 1; i<10; i++)
        {
            for(let j=1;j<=i ;j++)
                {
                    document.write(j+'*'+i+'='+i*j+'&nbsp;&nbsp;')
                }
                document.write('<br>')
        }
    </script>

</body>
</html>

输出结果

数组

数组的组成

数组做为数据的集合,它的单元值可以是任意数据类型

CSS
 
  <script>
    // 6.
数组单值类型可以是任意数据类型
 
    // a) 数组单元值的类型为字符类型
    let list = ['HTML', 'CSS', 'JavaScript']
    // b) 数组单元值的类型为数值类型
    let scores = [78, 84, 70, 62, 75]
    // c) 混合多种类型
    let mixin = [true, 1, false, 'hello']
  </script>

数组长度属性

数组长度属性

重申一次,数组在 JavaScript 中并不是新的数据类型,它属于对象类型。

 
  <script>
    // 定义一个数组
    let arr = ['html', 'css', 'javascript']
    // 数组对应着一个 length 属性,它的含义是获取数组的长度
    console.log(arr.length) // 3
  </script>

操作数组

数组做为对象数据类型,不但有 length 属性可以使用,还提供了许多方法:

  1. push 动态向数组的尾部添加一个单元
  1. unshit 动态向数组头部添加一个单元
  1. pop 删除最后一个单元
  1. shift 删除第一个单元
  1. splice 动态删除任意单元

使用以上4个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 length 并不会发生错乱。

JavaScript
<script>
    //
定义一个数组
    let arr = ['html', 'css', 'javascript']
 
    // 1. push 动态向数组的尾部添加一个单元
    arr.push('Nodejs')
    console.log(arr)
    arr.push('Vue')
 
    // 2. unshit 动态向数组头部添加一个单元
    arr.unshift('VS Code')
    console.log(arr)
 
    // 3. splice 动态删除任意单元
    arr.splice(2, 1) // 从索引值为2的位置开始删除1个单元
    console.log(arr)
 
    // 4. pop 删除最后一个单元
    arr.pop()
    console.log(arr)
 
    // 5. shift 删除第一个单元
    arr.shift()
    console.log(arr)
  </script>

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

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

相关文章

浅学JAVAFX布局

JAVAFX FlowPane布局 Flowpane是一个容器。它在一行上排列连续的子组件&#xff0c;并且如果当前行填充满了以后&#xff0c;则自动将子组件向下推到一行 public class FlowPanedemo extends Application {Overridepublic void start(Stage stage) throws Exception {stage.s…

Flutter 页面嵌入 Android原生 View

前言 文章主要讲解Flutter页面如何使用Android原生View&#xff0c;但用到了Flutter 和 Android原生 相互通信知识&#xff0c;建议先看完这篇讲解通信的文章 Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、EventChannel-CSDN博客 数据观…

Mybatis----分页

1.什么是分页 分页&#xff08;Pagination&#xff09;是指将大量数据划分为多个页面进行展示的一种技术手段。在数据量较大的情况下&#xff0c;将所有数据一次性显示在页面上会导致加载时间过长和页面过于庞大&#xff0c;影响用户体验和系统性能。分页技术通过划分数据为多…

高质量简历模板网站,免费、免费、免费

你们在制作简历时&#xff0c;是不是基本只关注两件事&#xff1a;简历模板&#xff0c;还有基本信息的填写。 当你再次坐下来更新你的简历时&#xff0c;可能会发现自己不自觉地选择了那个“看起来最好看的模板”&#xff0c;填写基本信息&#xff0c;却没有深入思考如何使简历…

【GitHub项目推荐--这个「元宇宙编程」项目开源了】【转载】

推荐一个开源项目&#xff0c;它能帮助你沉浸式编程。这是一个基于 Linux 的 VR 桌面开源项目&#xff1a;Simula &#xff0c;这是一个运行在 Godot 之上的 Linux 虚拟现实窗口管理器. Godot&#xff1a;是一款制作游戏的软件&#xff0c;通过基于节点的架构来设计 2D 和 3D …

GIS项目实战06:超详细Node.js安装及系统环境配置

简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&#xff0c;V8 引擎执行 Javascript 的速度非常快&#xff0c;性能…

鲲鹏微认证——openEuler开源操作系统迁移实践

文章目录 为什么要系统搬迁为什么选择欧拉欧拉系统迁移概述实施路径工具实战 为什么要系统搬迁 2020年12月&#xff0c;CentOs作为由开源社区免费提供的操作系统&#xff0c;宣布将对CentO58于2021年底停止服务&#xff0c;CentO57则于2024年6月底停止服务。 这将直接导致操作…

建议CSDN不要这样吃人xue馒头

程序员裁员潮&#xff1a;技术变革下的职业危机 2023年以来&#xff0c;谷歌、阿里巴巴各个科技公司都在裁员&#xff0c;程序员的日子也不好过。 讨论在技术变革下&#xff0c;裁员对于程序员的影响到底有多大&#xff0c;是非常有意义的话题&#xff0c;但是为什么要用“一…

Kubernetes/k8s之HPA,命名空间资源限制

Horizontal Pod Autoscaling:po的水平自动伸缩 这是k8s自带的模块 pod占用cpu比例达到一定的阀值&#xff0c;会触发伸缩机制。 根据cpu的阀值触发伸缩机制 replication controller 副本控制器 控制pod的副本数 deployment controller 节点控制器 部署pod hpa控制副本的数…

cmd输入python直接弹出windows应用商店

明明已经安装好了python&#xff0c;并且也确认配置好了python的环境变量&#xff0c;但是在cmd里输入python后&#xff0c;直接弹出windows商店&#xff0c;python获取界面&#xff0c;其实只需要关闭系统里的应用执行别名设置&#xff0c;最近出来的电脑系统里是自带开启了py…

初探 ret2libc

文章目录 ret2libc构建思路x86amd64第一阶段获取 libc 版本 ret2libc 这次我们又碰到新问题了&#xff0c;假如程序没有 system 函数和 /bin/sh 怎么办? system&#xff0c;/bin/sh 可以去 libc 里找&#xff0c;libc是Linux新系统下的C函数库&#xff0c;其中就会有system(…

macOS磁盘管理工具Paragon Hard Disk Manager,轻松且安全的改变磁盘分区

Paragon Hard Disk Manager mac版是Macos上一款磁盘管理工具&#xff0c;可以帮助你轻松而且安全的随意改变磁盘分区的大小和各种分区参数&#xff0c;作为mac磁盘分区工具也是游刃有余&#xff0c;同时在找回数据的时候也非常容易&#xff0c;并且不会损坏原来的数据&#xff…