day01

2. JavaScript的发展历史(了解)

1995年   网景公司研发了第一个商用浏览器  js最开始出现的目的是为了解决表单提交
​
是布兰登艾奇 利用10天时间解决了表单提交问题  借鉴liveScript---JavaScript
JavaScript和Java有什么区别  
​
微软也研发浏览器  1995年 发布了IE3.0----自己研发了一个类似于js的东西
研发了一套标准:ECMAScript1.0  es1
现在用的最广泛的标准是ECMASCript5.0简称es5    ECMASCript6.0---简称es6

3. JavaScript介绍

3.1.网站组成

HTML--超文本标记语言---结构
CSS---层叠样式表-----样式
js---js脚本语言---网站交互

3.2.什么是JavaScript

==基于对象和事件驱动的解释性脚本语言==

  • 基于对象:JavaScript 是一种基于对象的语言,这意味着它能运用自己已经创建的对象,因此,许多功能可以来自脚本环境中对象的方法与脚本的相互作用。

  • 事件驱动:JavaScript 可以直接对用户或者客户输入做出响应,无须经过 web 服务器,它对用户的响应,以事件驱动的方式进行。

  • 解释性

    • 解释性:可以直接识别,读一行执行一行

    • 编译性:高级语言,c c++ ,先编译计算机能识别的,再执行(速度快)

3.3.==JavaScript的特性==

基于对象
事件驱动 
解释性
跨平台

3.3.==JS的组成==

ECMASscipt:js的标准  这个标准里面有js的语法和常用对象
DOM  Document Object Modal  文档对象模型
BOM  Browser object Modal  浏览器对象模型

4.代码初识

4.1 JS引入方式

4.1.1 行间引入

  <!-- 第一种 行间引入 将js的语法直接写在开始标签上
         注意:双引号不能嵌套双引号  单引号也不能嵌套单引号  但是双引号和单引号可以相互嵌套
         onclick  鼠标点击事件
         alert("提示信息")  浏览器弹窗
         缺点:结构行为不分离  不方便后期维护
     -->
    <button οnclick="alert('今天周一')">提交</button>
​

4.1.2 内部引入

  <!-- 
        第二种 内部引入 
        js代码放在script标签中 script标签可以放在任意位置  代码的执行顺序是从上往下执行
        建议:一般放在head和body的末尾 是因为js一般都是操作标签 我们要确保标签先加载出来
        缺点:结构行为不分离
     -->
     <script>
        //浏览器弹窗
        alert("弹走弹走6")
        //操作div标签   操作p标签
    </script>

4.1.3 外部引入

  <!-- 第三种 外部引入
             在外部创建js文件 通过script标签的src属性引入文件 src="js文件路径"
             注意:引入外部文件的script标签 里面不能再写其他的js脚本
    -->
    <script src="./1.js">
        // alert("没有弹走")  不要在这里面再写其他的js代码
    </script>
    <script>
        alert("没有弹走")
    </script>

4.1.4 语法规则与注释

<body>
   
    <!-- 注释
        单行注释 //  一行js代码  快捷键是ctrl+/
        多行注释 /*  多行js代码 */  快捷键是ctrl+shift+/
    -->
    <!-- js的语法
        1-每行语句后面要加;
        2-js中严格区分大小写,有时候会使用驼峰命名 fontSize
    -->
​
    <script>
        /*  */
        // 
        alerT("123");
    </script>
</body>

4.2 JavaScript的调试语句

js调试:在实际开发过程中用于检测代码的功能的一种方式

4.2.1alert()

  • 语法: alert(提示信息)

  • 作用: 在页面中弹出警告框,用于提示

  • 缺点: 阻塞性的弹窗 一次只能输出一个

  <script>
       alert("提示信息");
       alert("你在说什么");
       console.log("123")
    </script>

4.2.2 console.log()

  • 语法:console.log(输出信息)

  • 作用:在控制台打印信息 多个输出之间用逗号隔开

 <script>
        //2.console.log()
        console.log("中午吃啥");
        console.log("米饭","泡面","西北风");
    </script>

4.2.3 打断点

  • 在sources找到当前运行的文件---在打断点的代码行号上点击

4.3 变量

  • 概念:存储数据的容器 称作变量(标识符) 给存储数据的区域起个名字

  • 语法:var 变量名 = 值

基础用法

<script>
        // 1.声明变量--基础用法
        var a;
        console.log(a);//undefined  未定义 声明了变量但是没有赋值
        //2 赋值   读法:将右侧数据123赋值给左边的变量a
        a = "123";
        console.log(a);//123
​
        //3.声明变量和赋值同时进行
        var b = "456";
​
        //4.同时声明多个变量 逗号意味着这行代码没有结束
        var c = "泡面", d = "赵四";
        console.log(c, d)//泡面 赵四
​
        //5.连等写法  x y的值都是”789
        var x = y = "789";
        console.log(x, y);// 789 789
​
    </script>

特殊用法

//6.特殊用法  不建议使用
        t = "10";//全局变量
        console.log(t);//10
​
        console.log(a1);//a1 is not defined  没有声明没有赋值
        
        var a2;
        console.log(a2);//undefined   只是声明了变量  但是没有赋值
  • 变量的命名规则

    • 以数字 字母 下划线 $组成,但是不能以数字开头

    • 不能使用关键字和保留字

    • 见名知意 使用驼峰命名(大驼峰和小驼峰都可以)

    • 变量不要重名 重名会覆盖

5.JS基础交互

5.1 获取标签

5.1.1通过id获取标签(元素)

  • 语法:document.getElementByid("id名")

  • 作用:通过id名获取标签,可以获取到具体的某一个

<body>
    <div id="box">这是一个盒子</div>
    <div id="box"></div>
    <ul id="wrap">
        <li>泡面</li>
        <li>米饭</li>
        <li id="list">尼古拉斯赵四</li>
    </ul>
    <script>
 
        // 1.通过id获取元素  选择到具体的某一个
        // 通过id获取  document.getElementById("id名字")
        var oDiv =  document.getElementById("box")
        console.log(oDiv)
        
        var oList = document.getElementById("list")
        console.log(oList)
​
        var oWrap = document.getElementById("wrap")
        console.log(oWrap)
    </script>
</body>

5.1.2通过类名获取标签(元素)

  • document.getElementsByClassName("类名")

    • 作用:获取整个文档下对应的类名标签

  • 获取集合中某一个具体的标签:集合[下标/序号]

<body>
    <div class="box1">盒子1</div>
    <div class="box1">盒子2</div>
    <div class="box1">盒子3</div>
    <div class="box1">盒子4</div>
    <div class="box1">盒子5</div>
    <ul class="wrap">
        <li>这是li标签1</li>
        <li>这是li标签2</li>
        <li class="box1">这是li标签3</li>
        <li>这是li标签4</li>
​
    </ul>
    <script>
        //1.通过类名获取标签  document.getElementsByClassName("类名")  获取整个文档下的该类名的标签
        //通过类名获取到的是一个集合 如果想获取到这个集合中的某一个具体元素  集合[序号/下标]
        var oDivs = document.getElementsByClassName("box1");
        console.log(oDivs);//HTMLCollection(6)
        console.log(oDivs[0]);//获取集合中的第一个盒子
        console.log(oDivs[4]);//获取集合中的第五个盒子
        console.log(oDivs[6]);//undefined
    </script>
</body>
  • 父元素.getElementsByClassName("类名")

    • 作用:获取该父元素下对应的类名标签

<body>
    <div class="box1">盒子1</div>
    <div class="box1">盒子2</div>
    <div class="box1">盒子3</div>
    <div class="box1">盒子4</div>
    <div class="box1">盒子5</div>
    <ul class="wrap">
        <li>这是li标签1</li>
        <li>这是li标签2</li>
        <li class="box1">这是li标签3</li>
        <li>这是li标签4</li>
    </ul>
    <script>
        console.log(oDivs[6]);//undefined
        //2.通过父元素获取  父元素.getElementsByClassName("类名") 获取该父元素下的类名标签
        var father = document.getElementsByClassName("wrap")[0];
        var child = father.getElementsByClassName("box1")[0];
        console.log(child)
        // 3.注意 通过类名获取的是一个集合  哪怕这个集合中有一个元素  也得加下标/序号
    </script>
</body>

5.1.3通过标签名获取标签(元素)

  • document.getElementsByTagName("标签名")

    • 获取整个文档下对应的标签名 获取到的是一个集合

<body>
    <div class="box1">这是div标签1</div>
    <div class="box1">这是div标签2</div>
    <div class="box1">这是div标签3</div>
    <div class="box1">这是div标签4</div>
    <div class="box1">这是div标签5</div>
    <div class="box1">这是div标签6</div>
    <div class="box1">这是div标签7</div>
    <div class="box1">这是div标签8</div>
    <div class="box1">这是div标签9</div>
    <div class="box1">这是div标签10</div>
    <ul id="wrap">
        <li>
            <div>这是li列表</div>
        </li>
        <li>
            <div>这是li列表</div>
        </li>
        <li>
            <div>这是li列表</div>
        </li>
    </ul>
    <script>
        // 1.通过标签名获取标签  document.getElementsByTagName  获取整个文档下的对应标签
        var oDivList = document.getElementsByTagName("div");
        console.log(oDivList);//HTMLCollection(10)
        console.log(oDivList[9]);
     
    </script>
</body>
  • 父元素.getElementsByTagName("标签名")

    • 获取该父元素下对应的标签

   //   2.父元素.getElementsByTagName("标签名") 获取该父元素下对应的标签
        var father = document.getElementById("wrap");
        var child = father.getElementsByTagName("div");
        console.log(child);//HTMLCollection(3)

==注意:通过类名和标签名获取拿到的都是一个集合,都需要通过集合名[下标]来获取具体某一个标签==

5.2 鼠标事件

==注意:onmouseover和onmouseenter及onmouseout和onmouseleave的区别放在事件冒泡讲==

onclick : 点击事件
ondblclick:鼠标双击
onmouseover/onmouseenter :  鼠标移入事件
onmouseout/onmouseleave:  鼠标移出事件
onmousemove :  鼠标移动事件
onmousedown :  鼠标按下
onmouseup   :  鼠标抬起
oncontextmenu: 鼠标右键显示菜单
  • 语法

    标签.事件类型 = function(){
      执行某个动作之后  要执行的逻辑代码
    }
<body>
    <div id="box"></div>
    <script>
        // 需求:点击盒子之后    弹窗内容  马上吃饭  alert("马上吃饭")
        // 标签.事件类型 = fucntion(){ 要执行的代码}
        // 1.获取标签
        var oDiv = document.getElementById("box");
        //2.绑定事件----onclick 点击事件
        oDiv.onclick = function () {
            //3.要执行的代码
            // alert("马上吃饭")
            console.log("单击")
        }
        // //3.双击事件
        oDiv.ondblclick = function(){
            alert("双击");
        }
​
        // 4.鼠标移入
        oDiv.onmouseover = function(){
            console.log("移入");
        }
        // 5.鼠标移出
        oDiv.onmouseout = function(){
            console.log("移出")
        }
        // 6.鼠标移动
        oDiv.onmousemove = function(){
            console.log("移动")
        }
​
        // 7.鼠标按下
        oDiv.onmousedown = function(){
            console.log("按下")
        }
        // 8.鼠标抬起
        oDiv.onmouseup = function(){
            console.log("抬起")
        }
        // 9.右键显示菜单
        oDiv.oncontextmenu = function(){
            console.log("显示右击菜单")
        }
        // 10.鼠标移入 
        oDiv.onmouseenter = function(){
            console.log("移入123")
        }
        // 11.鼠标移出
        oDiv.onmouseleave = function(){
            console.log("移出123")
        }
    </script>
</body>

6.面试题

1-什么是JavaScript
基于对象和事件驱动的解释性脚本语言
2-JavaScript的特性是什么
    基于对象
    事件驱动 
    解释性
    跨平台
3-JavaScript的组成是什么
    ECMASscipt:js的标准  这个标准里面有js的语法和常用对象
    DOM  Document Object Modal  文档对象模型
    BOM  Browser object Modal  浏览器对象模型
4-js的引入方式有哪些,有什么特性?
第一种 行间引入 将js的语法直接写在开始标签上
         注意:双引号不能嵌套双引号  单引号也不能嵌套单引号  但是双引号和单引号可以相互嵌套
         onclick  鼠标点击事件
         alert("提示信息")  浏览器弹窗
         缺点:结构行为不分离  不方便后期维护
 第二种 内部引入 
        js代码放在script标签中 script标签可以放在任意位置  代码的执行顺序是从上往下执行
        建议:一般放在head和body的末尾 是因为js一般都是操作标签 我们要确保标签先加载出来
        缺点:结构行为不分离
第三种 外部引入
             在外部创建js文件 通过script标签的src属性引入文件 src="js文件路径"
             注意:引入外部文件的script标签 里面不能再写其他的js脚本
5-变量的命名规则
    - 以数字 字母 下划线 $组成,但是不能以数字开头
    - 不能使用关键字和保留字
    - 见名知意    使用驼峰命名(大驼峰和小驼峰都可以)
    - 变量不要重名 重名会覆盖
6-获取标签的的三种方式
    类名,id,标签名
7-鼠标事件有哪些
    onclick : 点击事件
    ondblclick:鼠标双击
    onmouseover/onmouseenter :  鼠标移入事件
    onmouseout/onmouseleave:  鼠标移出事件
    onmousemove :  鼠标移动事件
    onmousedown :  鼠标按下
    onmouseup   :  鼠标抬起
    oncontextmenu: 鼠标右键显示菜单
8-报错信息"a is not defined"是什么意思
    没有声明没有赋值
9-什么时候会输出undefined
    声明但没有赋值
10-鼠标的事件类型有哪些
​

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340