JavaScript-1-菜鸟教程

news2024/11/17 2:35:21

将内容写到 HTML 文档中 - - - document.write()

    <script>
    	// 括号里的内容要有引号
        document.write("<h1>这是一个标题</h1>");
        document.write('<div class="box">hello world</div>');
    </script>
    <style>
        .box{
            width: 100px;height: 100px;
            background: red;
        }
    </style>

在这里插入图片描述
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖

在文本字符串中使用反斜杠\对代码行进行换行

<script>
document.write("你好 \
世界!");
</script>

弹出警告框 window.alert() - - - 测试常用

<button type="button" onclick="alert('欢迎!')">点我!</button>
    <script>
        window.alert(5 + 6);
    </script>

改变HTML内容 - - - innerHTML

    <p id="demo">
        JavaScript 能改变 HTML 元素的内容。
    </p>
    <script>
        function myFunction() {
            // x = document.getElementById("demo");  // 找到元素
            // x.innerHTML = "Hello JavaScript!";    // 改变内容

            document.getElementById('demo').innerHTML = 'Hello JavaScript!'
        }
    </script>
    <button type="button" onclick="myFunction()">点击这里</button>

console.log 写到控制台



JavaScript 语句标识符 (关键字)

语句描述
break用于跳出循环
catch语句块,在 try 语句块执行出错时执行 catch 语句块
continue跳过循环中的一个迭代
do … while执行一个语句块,在条件语句为 true 时继续执行该语句块
for在条件语句为 true 时,可以将代码块执行指定的次数
for … in用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)
function定义一个函数
if … else用于基于不同的条件来执行不同的动作
return退出函数
switch用于基于不同的条件来执行不同的动作
throw抛出(生成)错误
try实现错误处理,与 catch 一同使用
var声明一个变量
while当条件语句为 true 时,执行语句块

var 声明变量

    <script>
        // 一行声明多个变量
        var name = 'tom',age = 12,gender = '';
        // 可横跨多行
        var name,
            age,
            gender;
        // x,y 为 undefined(未使用值来声明的变量), z 为 1
        var x,y,z=1;
    </script>

JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。

引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

typeof 查看变量的数据类型

<script>
document.getElementById("demo").innerHTML = 
	typeof false + "<br>" +
	typeof {name:'john', age:34};
</script>

创建数组

    <script>
        var cars=new Array();
        cars[0]="Saab";
        cars[1]="Volvo";
        cars[2]="BMW";

        // var cars=new Array("Saab","Volvo","BMW");

        document.write(cars)
        document.write('<br><br>')
		
		// 注意使用分号隔开,不是逗号
        for(i=0;i<cars.length;i++){
            document.write(cars[i] + '<br>')
        }
    </script>

在这里插入图片描述

创建对象

    <script>
        var person =
        {
            firstname: "John",
            lastname: "Doe",
            id: 5566
        };
        // 得到值的两种方法  访问对象属性
        document.write(person.lastname + "<br>");		// Doe
        document.write(person["lastname"] + "<br>");	// Doe
    </script>

对象方法

    <p id="demo"></p>
    <script>
        var person = {
            firstName: "John",
            lastName: "Doe",
            id: 5566,
            fullName: function () {
                return this.firstName + " " + this.lastName;
            }
        };
        // 访问 person 对象的 fullName() 方法
        document.getElementById("demo").innerHTML = person.fullName();	// John Doe
        // 访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回
        document.getElementById("demo").innerHTML = person.fullName;	// function () { return this.firstName + " " + this.lastName; }
    </script>

Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

函数

    <script>
        function myFun(){
            alert('Hello World!')
        }
    </script>
    <button onclick="myFun">点我</button>

传参

    <button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>	
    <button onclick="myFunction('Bob','Builder')">点击这里</button>
    <script>
        function myFunction(name, job) {
            alert("Welcome " + name + ", the " + job);
        }
    </script>

返回值

    <p id="demo"></p>
    <script>
        function myFunction(a, b) {
            return a * b;
        }
        document.getElementById("demo").innerHTML = myFunction(4, 3);
    </script>

12

JavaScript 变量

    <script>
        var var1 = 1; // 不可配置全局属性
        var2 = 2; // 没有使用 var 声明,可配置全局属性

        console.log(this.var1); // 1
        console.log(window.var1); // 1
        console.log(window.var2); // 2

        delete var1; // false 无法删除
        console.log(var1); //1

        delete var2;
        console.log(delete var2); // true
        console.log(var2); // 已经删除 报错变量未定义    
    </script>

作用域

作用域为可访问变量,对象,函数的集合

局部作用域

    <p id="demo"></p>
    <script>
        myFunction();
        document.getElementById("demo").innerHTML = "carName 的类型是:" + typeof carName;
        function myFunction() {
            // 局部变量在声明的函数外不可以访问
            var carName = "Volvo";
        }
    </script>

carName 的类型是:undefined

全局作用域

    <p id="demo"></p>
    <script>
        var carName = "Volvo";
        myFunction();
        function myFunction() {
            document.getElementById("demo").innerHTML =
                "我可以显示 " + carName;
        }
    </script>

我可以显示 Volvo

    <p id="demo"></p>
    <script>
        myFunction();
        document.getElementById("demo").innerHTML =
            "我可以显示 " + carName;
        function myFunction() {
            // 如果你的变量没有声明,它将自动成为全局变量
            carName = "Volvo";
        }
    </script>

我可以显示 Volvo

HTML 中的全局变量

在 HTML 中, 全局变量是 window 对象,所以window 对象可以调用函数内的局部变量。
注意:所有数据变量都属于 window 对象。

    <p id="demo"></p>
    <script>
        myFunction();
        document.getElementById("demo").innerHTML =
            "我可以显示 " + window.carName;
        function myFunction() {
            carName = "Volvo";
        }
    </script>

我可以显示 Volvo

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

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

相关文章

如何部署lvs负载均衡集群 DR模式

Lvs _DR 模式 也是最常见的lv负载方式 DR DIRECT ROUTING 直接路由模式 DR模式工作过程 1 .客户端请求vip 2、LVS的调度器接受请求之后&#xff0c;根据算法选择一台后端的真实服务器&#xff0c; 请求转发到后端RS,请求的报 文的目的MAC地址&#xff0c;修改成后端真实服务器的…

同为科技(TOWE)大功率带机械联锁工业插头插座箱

所谓工业机械联锁开关插座&#xff0c;是一种工业用途插座&#xff0c;带有一个旋钮开关&#xff0c;通过旋钮开关可以控制电源的通断。其特点是具有联动锁定机构&#xff0c;当旋钮开关断开操作后&#xff0c;联动锁定机构会自动撤销限位&#xff0c;使插头能够插入或拔出。当…

RabbitMQ基础篇 笔记

RabbitMQ 余额支付 同步调用 一步一步的来&#xff0c;支付业务写完后&#xff0c;如果之后加需求&#xff0c;还需要增加代码&#xff0c;不符合开闭原则。 性能上也有问题&#xff0c;openfeign是同步调用&#xff0c;性能太差。 同步调用耦合太多。 同步的优势是可以立…

Node编写用户登录接口

目录 前言 服务器 编写登录接口API 使用sql语句查询数据库中是否有该用户 判断密码是否正确 生成JWT的Token字符串 配置解析token的中间件 配置捕获错误中间件 完整的登录接口代码 前言 本文介绍如何使用node编写登录接口以及解密生成token&#xff0c;如何编写注册接…

侯捷C++面向对象程序设计笔记(上)-Object Based(基于对象)部分

基于对象就是对于单一class的设计。 对于有指针的&#xff1a;complex.h complex-test.cpp 对于没有指针的&#xff1a; string.h string-test.cpp https://blog.csdn.net/ncepu_Chen/article/details/113843775?spm1001.2014.3001.5501#commentBox 没有指针成员——以复数co…

【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建

为摒弃在接受keil邮件&#xff0c;研究了下gun编译&#xff0c;以STM32F407为例&#xff0c;简单记录 1. 软件包准备 Git 选择对应版本直接安装即可https://git-scm.com/download/winmakegcc ​ 1&#xff09;将上述软件包放置于C盘根目录 2&#xff09;添加环境变量 3&am…

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测&#xff08;SE注意力机制&#xff09; 目录 分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测&#xff08;SE注意力机制&#xff09;分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MAT…

Android View拖拽startDragAndDrop,Kotlin

Android View拖拽startDragAndDrop&#xff0c;Kotlin import android.os.Bundle import android.util.Log import android.view.DragEvent import android.view.View import android.view.View.OnDragListener import android.view.View.OnLongClickListener import android.w…

Spring中方法拦截器

一、MethodInterceptor 在动态代理中要想添加一个额外功能&#xff0c;只要去实现MethodBeforeAdvice这个接口就行了&#xff0c;但是实现了这个接口的额外功能只能运行在目标类执行之前&#xff0c;如果是想在目标类执行之后呢&#xff1f;那这个需求就完成不了&#xff0c;所…

SpringBoot Lombok的使用

目录 下载Lombok插件 Lombok的用法 获取日志对象 生成get,set方法 Lombok框架的实现原理 Lombok的常用注解 下载Lombok插件 要使用Lombok首先要确保idea安装了lombok插件 在项目中添加 lombok依赖 在<dependency>里右键生成点击edit starters 插件(没有就下载,可…

行业模型应该如何去拆解?

行业模型应该如何去拆解&#xff1f; 拆解行业模型是一个复杂的过程&#xff0c;涉及对整个行业的深入分析和理解。下面是一些步骤和方法&#xff0c;可以帮助你系统地拆解行业模型&#xff1a; 1. 确定行业范围 定义行业&#xff1a;明确你要分析的行业是什么&#xff0c;包括…

寻找二叉树一个节点的后继节点

后继节点&#xff1a;中序遍历的后一个节点 普通二叉树&#xff1a;中序遍历得到一个list&#xff0c;时间复杂度O(n) 本题的二叉树&#xff1a;有父节点的指针&#xff0c;后继节点与原节点的距离为1&#xff0c;因此可以直接通过父节点找到下一个节点 优化&#xff1a;节点…

出差学小白知识No6:LD_PRELOAD变量路径不对找不到库文件

交叉编译的时候出现以下问题&#xff0c;显示LD_PRELOAD变量找不到路劲 首先先查看一下LD_PRELOAD的路径&#xff1a;echo $LD_PRELOAD 如果输出一大串&#xff0c;那么先进行清空&#xff1a;unset LD_PRELOAD 重新给LD_PRELOAD进行赋值他的路径和库文件&#xff1a; expor…

亚马逊、eBay、wish、Lazada、shoppe和mercari如何降低测评成本提高测评效率?

测评&#xff08;补单&#xff09;是跨境卖家在如亚马逊、Lazada、Shopee、wish、eBay、速卖通、阿里国际、沃尔玛、newegg、mercari等平台运营中不可或缺的需求。近年来&#xff0c;测评技巧在跨境卖家圈中越来越活跃。那么为什么跨境测评对于亚马逊卖家来说如此重要呢&#x…

【Leetcode】 213. 打家劫舍 II ?

你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈&#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#xff0c;相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚…

Java反射实体组装SQL

之前在LIS.Core定义了实体特性&#xff0c;在LIS.Model给实体类加了表特性&#xff0c;属性特性&#xff0c;外键特性等。ORM要实现增删改查和查带外键的父表信息就需要解析Model的特性和实体信息组装SQL来供数据库驱动实现增删改查功能。 实现实体得到SQL的工具类&#xff0c…

视觉SLAM十四讲-第三讲三维刚体运动

什么是刚体运动以及三维空间中刚体运动描述方式有哪些&#xff1f; 两个坐标系之间的运动由一个旋转加上一个平移组成&#xff0c;这种运动称为刚体运动。描述三维空间中刚体运动的方式有旋转矩阵、旋转向量、欧拉角、四元数。 请描述左手坐标系和右手坐标系。 大拇指——y …

筹备三年,自动驾驶L3标准将至,智驾产业链的关键一跃

‍作者|张祥威 编辑|德新 多位知情人士告诉HiEV&#xff0c;智能网联汽车准入试点通知&#xff0c;乐观预计将在一个月内发布。试点的推动&#xff0c;意味着国家层面的自动驾驶L3标准随之到来。 「L3标准内容大部分与主机厂相关&#xff0c;由工信部牵头&#xff0c;找了几家…

电子企业MES管理系统体系架构与功能解析

随着科技的不断发展&#xff0c;电子企业对于生产过程的数字化需求日益增强。为了满足这一需求&#xff0c;许多企业开始引入MES&#xff08;制造执行系统&#xff09;来打造数字化车间&#xff0c;以改善车间的管理和生产等各环节。本文将详细介绍电子企业MES系统的体系架构和…

pythonselenium自动化测试实战项目

说明&#xff1a;本项目采用流程控制思想&#xff0c;未引用unittest&pytest等单元测试框架 一.项目介绍 目的 测试某官方网站登录功能模块可以正常使用 用例 1.输入格式正确的用户名和正确的密码&#xff0c;验证是否登录成功&#xff1b; 2.输入格式正确的用户名和不…