CSS与JavaScript的简单认识

 CSS:是一门语言,用于控制网页表现,让页面更好看的。  CSS(Cascading Style Sheet):层叠样式表

  CSS与html结合的三种方式:

    1、内部样式:用style标签,在标签内部定义CSS样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
      div{
        color: red;
      }
    </style>
</head>
<body>
<div>
  Hello CSS~
</div>
</body>
</html>

   2、内联样式:在标签内部使用style属性,属性值是css属性键值对

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div style="color: red">Hello CSS~</div>
</body>
</html>

这种方式html代码就和css代码耦合在一起了,但不利于以后的复用,不推荐这么写

  3、外部样式:定义link标签,引入外部的css文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <link href="resource/demo.css" rel="stylesheet">
</head>
<body>
<p>hello css~</p>
</body>
</html>

下面这是文件中的内容

p{
    color: green;
}

这是引用的外部的demo.css的文件。

 选择器:选择器是选取需设置样式的元素(标签)

    1、元素选择器:元素名称{键值对}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
      div{
        color: red;
      }
    </style>
</head>
<body>
<div>div1</div>
<div>div2</div>

<span></span>

</body>
</html>

    2、id选择器:#id属性值{键值对}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
      div{
        color: red;
      }

      #name{
        color: blue;
      }
    </style>
</head>
<body>
<div>div1</div>
<div>div2</div>

<div id="name">div4</div>


<span></span>

</body>
</html>

   3、类选择器:.class属性值{键值对}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
      div{
        color: red;
      }

      #name{
        color: blue;
      }
      .cls{
        color: pink;
      }
    </style>
</head>
<body>
<div>div1</div>
<div>div2</div>

<div id="name">div4</div>

<div class="cls">div5</div>

<span></span>

</body>
</html>

JavaScript:是一门跨平台、面向对象的脚本语言,来控制网页行为的,它能使网页可交互

就像这种,在不跳转页面的情况下,可以更换更换图片的。

脚本语言:就是浏览器可以直接解释执行,不用经过编译。

JavaScript和Java是完全不同的语言,不论是概念还是设计。但是基础语言类似。

JavaScript引入方式:

  1、内部脚本:将JS代码定义在html页面中。在html中,JavaScript代码必须位于script标签中。

        提示:在html文档中,可以在任何地方,放置任意数量的script标签。但是一般会把脚本置于body标签元素的底部,可改善显示速度,因为脚本执行会拖延显示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<script>
  window.alert("hello.js")//写入警告框
  document.write("hello js2")//写入html页面
  console.log("hello js3")//写入浏览器控制台
</script>
</html>

 

2、外部脚本:将JS代码定义在外部JS文件中,然后引入到html页面中。

        注意:外部脚本中不能包含script标签;script标签不能自闭合,标签必须写全。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="resources/demo.js"></script>
</body>
</html>




demo.js文件中的代码为

alert("hello js")

书法语法:

  1、区分大小写:与Java一样,变量名、函数以及其他一切东西都是区分大小写的。

  2、每行结尾的分号都是可有可无的

  3、注释:单行注释:  //注释内容。                 多行注释:  /*注释内容*/

  4、大括号代表代码块

输出语句:

window.alert()写入警告框    document.write()写入html页面      console.log()写入浏览器控制台

变量:

  JavaScript中使用var关键字(variable的缩写)来声明变量。

  JavaScript是一门弱类型的语言,变量可以存放不同类型的值。

     变量名需要遵循以下规则:

       1、组成字符可以是任何字母、数字、下划线或美元符号。

       2、数字不能开头

       3、建议使用驼峰命名

  ECMAScript6新增了let关键字和const关键字。

     let关键字来定义变量,用法与var类似,但是声明的变量,只能在let关键字所在的代码块内有效,且不允许重复声明变量名相同的变量。

    const变量用来声明一个只读变量。一旦声明就无法更改。

var定义的变量的特点:

   1、作用域为全局变量,即使var变量写在某个代码块中,在代码块外部也能访问。

   2、变量可以重复定义,可以定义俩个变量名相同的变量,后定义的覆盖前面的

数据类型:

   JavaScript中分为原始数据和引用数据

     5种原始数据:

           number:数字(整数,小数,NaN(Not a Number))

           string:字符,字符串,单双号都可以。     boolean:布尔。true或false。    null:对象为空

           undefined:当声明的变量未初始化时,该变量的默认值为undefined。

     使用typeof运算符可以获取数据类型 alert(typeof age)

运算符

   运算符几乎和Java的一致,不同的就是JavaScript中多了=== 全等于

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>
    var age1=20
    var age2="20"
    alert(age1==age2);//返回true
    alert(age1===age2);//返回false
  
</script>
</html>

 ==:先判断类型是否一样,如果不一样,则进行类型转换,然后再去比较其值

 ===:判断类型是否一致,不一致直接返回false。一致时才会去比较值

数据转换:

  其他类型转换为number:

     1、string:按照字符串的字母值,转换为数字,如果字面值不是数字,例如var str=‘abc’,则转换为NaN。一般使用parseInt方法转换。

     2、boolean:true转换为1,false转换为0.

    其他类型转换为boolean:

      1、number:0和NaN转为false,其他数字转为true。

      2、string:空字符串转为false,其他字符串转为true。

      3、null:fasle

      4、undefined:false

函数:JavaScript函数通过function关键字进行定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  //定义函数方式1:
  // function add(a,b){
  //   return a+b;
  // }

  //定义函数方式2:
  var add=function (a,b){
    return a+b;
  }
  var result=add(1,2)
  alert(result);
</script>
</body>
</html>

注意:形式参数不需要写出类型,返回值也不需要定义类型,可以在函数内部直接使用return返回即可。因为JavaScript是弱类型的语言。函数中即使定义函数时写了2个形参,调用函数时可以传入2个以上的参数。

JavaScript

  定义:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var arr=new Array(1,2,3)
  alert(arr)
  var arr2=[1,2,3]
  alert(arr2)
</script>
</body>
</html>

特点:JavaScript数组相当于Java中的集合。变长变类型。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var arr2=[1,2,3]
  alert(arr2)
  arr2[6]=6
  alert(typeof arr2[5])//为undefined类型
</script>
</body>
</html>

且同一个数组中不必须全是number类型,可以有不同类型。

    数组方法:  push方法,添加元素。   splice方法,删除元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var arr5=[1,2,3]
  arr5.push(10)
  arr5.splice(0,1)
  alert(arr5)

</script>
</body>
</html>

 

字符串对象:

   定义:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var str1=new String("abc")
  var str2="abc"
</script>
</body>
</html>

length属性:字符串的长度。 

charAt()返回指定位置的字符。     indexOf()检索字符串。 trim()去除字符串前后俩段的空白字符。

自定义对象:相当于Java中类的定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var person={
        name:"zhangsan",
        age:21,
        eat:function (){
            alert("干饭~")
        }
    }
    alert(person.name)
    alert(person.age)
    person.eat()
</script>
</body>
</html>

BOM:Browser Object Model浏览器对象模型

 JavaScript将浏览器的各个组成部分封装成对象。

  组成:Window:浏览器窗口对象。    Navigator:浏览器对象。    Screen:屏幕对象

            History:历史记录对象。      LOcation:地址栏对象。

    window:弹框方法:alert()弹出警告框和comfirm()弹出有确认和取消按钮的对话框。点确认返回true,取消返回fasle

                   定时器方法:serlnterval()按照周期(毫秒)来调用函数或计算表达式,循环执行。

                                         setTimeout()在指定的毫秒数后调用函数或计算表达式,这个只执行一次。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var flag=confirm("确认删除?")
   setTimeout(function (){
     alert("hehe")
   },1000)

  setInterval(function (){
    alert("hehe")
  },1000)
</script>
</body>
</html>

     history:历史记录

          方法:back() 加载history列表中的前一个URL。  forward()加载history列表中的下一个URL。

     location:地址栏对象

        属性:href:设置或返回完整的URL

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  alert("跳转百度")
  location.href="https://www.baidu.com"


  //3秒跳转首页
  document.write("3秒跳转首页")
  setTimeout(function (){
    location.href="https://www.baidu.com"
  },3000)

</script>
</body>
</html>

DOM:Document Object Model 文档对象模型

  将标记语言的各个组成部分封装成对象:

      Document:整个文档对象。     Element:元素对象        Attribute:属性对象

      Text:文本对象        Comment:注释对象

 获取Element:元素对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img id="light" src="">
<div class="cls">黑马</div>
<div class="cls">程序员</div>

<input type="checkbox" name="hobby">电影
<input type="checkbox" name="hobby">旅游
<input type="checkbox" name="hobby">游戏

<script>
  var img=document.getElementById("light")//根据id获取
  alert(img)

  var divs=document.getElementsByTagName("div")//根据标签名获取,返回数组
  alert(divs.length)
  for(let i=0;i<divs.length;i++){
    divs[i].style.color="red"//设置元素css样式
    divs[i].innerHTML="hehe"//设置元素内容
    alert(divs[i])
  }

  var hobbies= document.getElementsByName("hobby");//根据name属性获取,返回数组
  for (let i=0;i<hobbies.length;i++){
    alert(hobbies[i])
  }

  var classes= document.getElementsByClassName("cls")//根据name属性值获取,返回数组
  for (let i=0;i<classes.length;i++){
    alert(classes[i])
  }


</script>

</body>
</html>

Element对象中的俩个常用属性: style:设置元素css样式。 innerHTML:设置元素内容。

  checkbox对象中一个重用属性ckecked:设置或返回元素是否被选中。让对象的checked属性为true即位被选中,为fasle就是未被选中。

事件监听:

  事件:html事件时发生在html元素上的事情。

  事件监听:JavaScript可以在事件被侦测到时执行的代码。

事件绑定的俩种方式:

  一:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="点我" onclick="on()"> <br>

<script>
  function on() {
    alert("我被点了")
  }
</script>
</body>
</html>

二:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="在点我" id="btn">

<script>
  document.getElementById("btn").onclick=function (){
    alert("我再次被点")
  }

</script>
</body>
</html>

常见事件:

   onclick: 鼠标点击事件。       onblur:元素失去焦点。    onfocus:元素获取焦点

   onload:某个页面或图像被完成加载。     onsubmit:当表单被提交时触发该事件。

   onkeydown:某个键盘被按下        onmouseover。鼠标被移到某个元素上

   onmouseout:鼠标从某个元素移开

正则表达式:定义了字符串组成的规则

   定义:俩种方式

var reg=/^\w{6,12}$/
  var reg2=new RegExp("\\w{6,12}$")

  方法:test()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var reg=/^\w{6,12}$/
  var str="abccccc"
  var flag=reg.test(str)
  alert(flag)

</script>
</body>
</html>

  判断字符串str是否符合正则表达式reg。

语法规则:

    ^:表示开始。      $:表示结束。 

   []:表示某个范围内的单个字符。

   .:代表任意单个字符,除了换行符和行结束符。

  \w:代表单词字符:字母,数字,下划线

  \d:代表数字字符

量词语法:

  +:至少一个

  *:零个或多个

  ?:零个或一个

  {x}:x个

 {m,}:至少m个

 {m,n}:至少m个,之多n个

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤&#xff0c;持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成&#xff0c;使⽤的开源⼯具是Jenkins&#xff0c;CD指的是持续交付和持续部署&#xff0c;⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…

12.26

key_it.c #include"key_it.h" void led_init() {// 设置GPIOE/GPIOF时钟使能RCC->MP_AHB4ENSETR | (0x3 << 4);// 设置PE10/PE8/PF10为输出模式GPIOE->MODER & (~(0x3 << 20));GPIOE->MODER | (0x1 << 20);GPIOE->MODER & (~…

如何在iterm2的命令行中快速移动

文章目录 一、打开Preferences设置二、进行key的映射三、修改键值四、参考文献 一、打开Preferences设置 二、进行key的映射 三、修改键值 四、参考文献 Mac下iTerm2光标按照单词快速移动设置

【回顾 展望】我的2023年度总结

2023年度关键词 学生时代终将绕不开的学习我的健身水平何时能重回巅峰&#xff1f;对生活前所未有的渴望接下来的2024是否能够微笑面对 最近发现了一个比较有意思的事&#xff0c;各大APP都在推我在这个APP的使用方面的2023年度总结&#xff0c;各个up主&#xff0c;也都在发各…

开发知识点-JAVA图形化-JavaFX

JavaFX JavaFX通用漏洞利用工具开发从无到无环境配置vscode配置JavaFX JavaFX基本程序结构创建项目新建一个包新建入口类&#xff08;主类&#xff09;新建&#xff08;FX&#xff09;label标签 创建按钮 JavaFX应用的 Stage窗口JavaFX应用的 Scene 场景类Node UI控件的通用属性…

纯CSS3制作优惠券线性UI效果

纯CSS3制作优惠券线性UI效果-遇见你与你分享

自激振荡电路笔记 电弧打火机

三极管相关 三极管的形象描述 二极管 简单求解&#xff08;理想&#xff09; 优先导通&#xff08;理想&#xff09; 恒压降 稳压管&#xff08;二极管plus&#xff09; 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…

nodejs微信小程序+python+PHP的冷链物流配送系统-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

推荐几个开源HTTP服务接口快速生成工具

在现在流行微服务、前后端分离软件开发架构下&#xff0c;基于标准RESTful/JSON的HTTP接口已经成为主流。在实际业务中有很多需要快速开发调用数据服务接口的需求&#xff0c;但团队中缺乏专业的后端开发人员&#xff0c;比如&#xff1a; &#xff08;1&#xff09;数据库表已…

Java定时器

目录 什么是定时器&#xff1f; 如何使用定时器&#xff1f; schedule Timer的构造方法 cancel 定时器的模拟实现 思路分析 实现过程 完整代码 什么是定时器&#xff1f; 定时器&#xff1a;即在设定的时间时执行某事的设备&#xff08;例如闹钟&#xff0c;在指定的时…

python期刊稿件在线投稿系统q2ud0

本系统的用户可分为管理员、投稿者、审稿人和编辑四个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有个人中心、投稿者管理、审稿人管理、编辑管理、个人稿件管理、审核稿件管理、稿件信息管理、类型管理等功能&#xff1b;编辑登录系统主要有个人中心、审核稿…

大模型训练过程概述

上图来自 Andrej Karpathy&#xff0c;深度学习的大拿&#xff0c;目前在Tesla。这张图的信息量相当大&#xff0c;通过该图能让我们对大模型的整个训练过程有一个总体的了解。 从该图可知大模型训练主要有4步&#xff1a; Pretraining — 预训练阶段 Supervised Finetuning&…

透过许战海矩阵洞察安记食品增长战略

引言&#xff1a;安记食品如果想实施增长战略&#xff0c;建议深耕招牌产品,走向全国市场,目前招牌产品咖哩和复合调味粉市场空间没有被全面释放出来,需要科学的产品战略作为支撑。安记食品选择功能性产品方向是正确的,但“功能性”需要一个大品类作为载体,牛奶,饮料是最大的载…

C# Onnx yolov8n forklift detection

目录 效果 模型 项目 代码 下载 C# Onnx yolov8n forklift detection 效果 模型 Model Properties ------------------------- date&#xff1a;2023-12-25T16:22:05.530078 author&#xff1a;Ultralytics task&#xff1a;detect license&#xff1a;AGPL-3.0 https:/…

牛客网SQL训练4—SQL进阶挑战

文章目录 一、增删改操作1. 插入记录2. 更新记录3. 删除记录 二、表与索引操作1. 表的创建、修改与删除2. 索引的创建、删除 三、聚合分组查询1. 聚合函数2. 分组查询 四、多表查询1. 嵌套子查询2. 合并查询3. 连接查询 五、窗口函数1. 专用窗口函数2. 聚合窗口函数 六、其他常…

分布式【4. 什么是 CAP?】

什么是 CAP&#xff1f; C 代表 Consistency&#xff0c;一致性&#xff0c;是指所有节点在同一时刻的数据是相同的&#xff0c;即更新操作执行结束并响应用户完成后&#xff0c;所有节点存储的数据会保持相同。 A 代表 Availability&#xff0c;可用性&#xff0c;是指系统提…

开源radishes高仿网易云音乐完整源码,可试听和下载“灰色”歌曲,跨平台的无版权音乐平台

源码介绍 Radishes是项目名称&#xff0c;是由萝卜翻译而来。可以在这里试听和下载“灰色”歌曲&#xff0c;是一个可以跨平台的无版权音乐平台。 萝卜音乐界面和功能参考 windows 网易云音乐界面和 ios 的网易云音乐 安装依赖 cd radishes/ yarn bootstrap 运行项目 web:…

【回溯】0-1背包Python实现

文章目录 [toc]问题描述形式化描述 回溯法时间复杂性Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;回溯法 问题描述 给定 n n n种物品和一背包&#xff0c;物品 i i i的重量是 w i w_{i} wi​&#xff0c;其价值为 v i v_{i} vi​&#xff0c;背包的容量为 c …

力扣每日一题99:恢复二叉搜索树

题目 给你二叉搜索树的根节点 root &#xff0c;该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下&#xff0c;恢复这棵树 。 示例 1&#xff1a; 输入&#xff1a;root [1,3,null,null,2] 输出&#xff1a;[3,1,null,null,2] 解释&#xff1a;3 不能是 1 …

vue保姆级教程----组件之间的参数传递

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…